C#中Escape编码的加密、解密
生活随笔
收集整理的這篇文章主要介紹了
C#中Escape编码的加密、解密
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????#region?Escape的加密、解密
????///?<summary>
????///?Escape的加密
????///?</summary>
????///?<param?name="str"></param>
????///?<returns></returns>
????public?static?string?Escape(string?str)
????{
????????if?(str?==?null)
????????????return?String.Empty;
????????StringBuilder?sb?=?new?StringBuilder();
????????int?len?=?str.Length;
????????for?(int?i?=?0;?i?<?len;?i++)
????????{
????????????char?c?=?str[i];
????????????//everything?other?than?the?optionally?escaped?chars?_must_?be?escaped?
????????????if?(Char.IsLetterOrDigit(c)?||?c?==?'-'?||?c?==?'_'?||?c?==?'/'?||?c?==?'\\'?||?c?==?'.')
????????????????sb.Append(c);
????????????else
????????????????sb.Append(Uri.HexEscape(c));
????????}
????????return?sb.ToString();
????}
????///?<summary>
????///?Escape的解密
????///?</summary>
????///?<param?name="str"></param>
????///?<returns></returns>
????public?static?string?UnEscape(string?str)
????{
????????if?(str?==?null)
????????????return?String.Empty;
????????StringBuilder?sb?=?new?StringBuilder();
????????int?len?=?str.Length;
????????int?i?=?0;
????????while?(i?!=?len)
????????{
????????????if?(Uri.IsHexEncoding(str,?i))
????????????????sb.Append(Uri.HexUnescape(str,?ref?i));
????????????else
????????????????sb.Append(str[i++]);
????????}
????????return?sb.ToString();
????}
????#endregion
????///?<summary>
????///?Escape的加密
????///?</summary>
????///?<param?name="str"></param>
????///?<returns></returns>
????public?static?string?Escape(string?str)
????{
????????if?(str?==?null)
????????????return?String.Empty;
????????StringBuilder?sb?=?new?StringBuilder();
????????int?len?=?str.Length;
????????for?(int?i?=?0;?i?<?len;?i++)
????????{
????????????char?c?=?str[i];
????????????//everything?other?than?the?optionally?escaped?chars?_must_?be?escaped?
????????????if?(Char.IsLetterOrDigit(c)?||?c?==?'-'?||?c?==?'_'?||?c?==?'/'?||?c?==?'\\'?||?c?==?'.')
????????????????sb.Append(c);
????????????else
????????????????sb.Append(Uri.HexEscape(c));
????????}
????????return?sb.ToString();
????}
????///?<summary>
????///?Escape的解密
????///?</summary>
????///?<param?name="str"></param>
????///?<returns></returns>
????public?static?string?UnEscape(string?str)
????{
????????if?(str?==?null)
????????????return?String.Empty;
????????StringBuilder?sb?=?new?StringBuilder();
????????int?len?=?str.Length;
????????int?i?=?0;
????????while?(i?!=?len)
????????{
????????????if?(Uri.IsHexEncoding(str,?i))
????????????????sb.Append(Uri.HexUnescape(str,?ref?i));
????????????else
????????????????sb.Append(str[i++]);
????????}
????????return?sb.ToString();
????}
????#endregion
轉載于:https://www.cnblogs.com/yuanjinhui123/archive/2009/05/13/1456107.html
總結
以上是生活随笔為你收集整理的C#中Escape编码的加密、解密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Java程序员,上班那点事儿》书名的由
- 下一篇: 磁盘阵列上的文件访问不了--原因是lvm