亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

c#可自定義碼表的base64加密解密算法類

2019-11-14 13:40:45
字體:
來源:轉載
供稿:網友

000

  1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Text;  5 using System.Threading.Tasks;  6   7 namespace Libraries  8 {  9     public class Base64Crypt 10     { 11         PRivate string S; 12         private string K; 13         private List<char> T; 14         public Base64Crypt() 15         { 16             T = new List<char>(); 17             K = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやよらりるれろわをぐげござじずぞだぢづでばびぶべぱぴぷぺぽ"; 18             //K = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";//標準碼表 19         } 20         public string Token 21         { 22             get 23             { 24                 return S == null ? K : S; 25             } 26             set 27             { 28                 T.Clear(); 29                 S = value; 30                 if (S == null) 31                 { 32                     foreach (var item in K) 33                     { 34                         T.Add(item); 35                     } 36                 }else if (S.Length < 64) 37                 { 38                     foreach (var item in S) 39                     { 40                         T.Add(item); 41                     } 42                     for (int i = 0; i < 64-S.Length; i++) 43                     { 44                         T.Add(K[i]); 45                     } 46                 } 47                 else 48                 { 49                     for (int i = 0; i < 64; i++) 50                     { 51                         T.Add(S[i]); 52                     } 53                 } 54             } 55         } 56  57         public string Encode(string x) 58         { 59             return string.IsNullOrEmpty(x) ? x : InternalEncode(Encoding.UTF8.GetBytes(x)); 60         } 61         public string Decode(string x) 62         { 63             return string.IsNullOrEmpty(x) ? x : Encoding.UTF8.GetString(InternalDecode(x)); 64         } 65  66         public byte[] Encode(byte[] x) 67         { 68             return x == null ? null : Encoding.UTF8.GetBytes(InternalEncode(x)); 69         } 70         public byte[] Decode(byte[] x) 71         { 72             return x == null ? null : InternalDecode(Encoding.UTF8.GetString(x)); 73         } 74         private void CheckToken() 75         { 76             if (T.Count != 64) 77             { 78                 Token = K; 79             } 80         } 81         private byte[] InternalDecode(string x) 82         { 83             CheckToken(); 84             byte[] r; 85             string t; 86             int p = 0; 87             int m = x.Length / 4; 88             int n = x.Length % 4; 89             if (n == 0) 90             { 91                 r = new byte[3 * m]; 92             } 93             else 94             { 95                 r = new byte[3 * m + n-1]; 96                 t = string.Empty; 97  98                 for (int i = n; i > 0; i--) 99                 {100                     t += ByteToBin((byte)T.IndexOf(x[x.Length - i])).Substring(2);101                 }102 103                 for (int i = 0; i < n-1 ; i++)104                 {105                     r[3 * m + i] = BinToByte(t.Substring(8 * i, 8));106                 }107             }108             for (int i = 0; i < m; i++)109             {110                 t = string.Empty;111                 for (int j = 0; j < 4; j++)112                 {113                     t += ByteToBin((byte)T.IndexOf(x[4*i+j])).Substring(2);114                 }115                 for (int j = 0; j < t.Length/8; j++)116                 {117                     r[p++] = BinToByte(t.Substring(8*j,8));118                 }119             }120             return r;121         }122         private string InternalEncode(byte[] x)123         {124             CheckToken();125             string r = string.Empty;126             string t;127             int m = x.Length / 3;128             int n = x.Length % 3;129             for (int i = 0; i < m; i++)130             {131                 t = string.Empty;132                 for (int j = 0; j < 3; j++)133                 {134                     t += ByteToBin(x[3 * i + j]);135                 }136                 r += base64Encode(t);137             }138 139             if (n == 1)140             {141                 t = ByteToBin(x[x.Length-1]).PadRight(12,'0');142                 r += base64Encode(t);143             }144             else if (n == 2)145             {146                 t = string.Empty;147                 for (int i = n; i > 0; i--)148                 {149                     t += ByteToBin(x[x.Length - i]);150                 }151                 t = t.PadRight(18,'0');152                 r += base64Encode(t);153             }154             return r;155         }156         private string base64Encode(string x)157         {158             string r = string.Empty;159             for (int i = 0; i < x.Length / 6; i++)160             {161                 r += T[BinToByte(x.Substring(6 * i, 6))];162             }163             return r;164         }165         166         private string ByteToBin(byte x)167         {168             return Convert.ToString(x,2).PadLeft(8,'0');169         }170         private byte BinToByte(string x)171         {172             return Convert.ToByte(x,2);173         }174 175     }176 }177  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产高潮在线观看| 国产精品成人国产乱一区| 日韩av在线精品| 国产日韩欧美夫妻视频在线观看| 欧美成在线观看| 91色中文字幕| 久久99国产综合精品女同| 视频一区视频二区国产精品| 美女精品视频一区| 中文字幕精品一区二区精品| 国产日韩欧美中文| 欧美高清性猛交| 伊人伊成久久人综合网站| 亚洲一区二区精品| 国产经典一区二区| 最新中文字幕亚洲| 国产日产欧美a一级在线| 欧美日韩国产专区| 久久99热这里只有精品国产| 91在线观看免费高清完整版在线观看| 亚洲肉体裸体xxxx137| 亚洲欧美国内爽妇网| 久久69精品久久久久久久电影好| 欧洲成人免费视频| 欧美性生交大片免费| 日韩高清有码在线| 亚洲美女动态图120秒| 日韩精品在线免费观看视频| 久久成年人免费电影| 欧美激情综合亚洲一二区| 在线电影中文日韩| 成人午夜高潮视频| 欧美麻豆久久久久久中文| 久久久久久av| 欧美高跟鞋交xxxxhd| 成人免费在线视频网址| 国产精品久久久久久一区二区| 97在线视频免费看| 欧美国产日韩免费| 亚洲区中文字幕| 亚洲xxx视频| 91丝袜美腿美女视频网站| 国产成人精品在线播放| 久久久精品2019中文字幕神马| 欧美成人精品在线| 日韩美女视频免费看| 国产精品久久久久久网站| 亚洲理论片在线观看| 国产精品视频在线播放| 欧美性极品少妇精品网站| 精品五月天久久| 成人亲热视频网站| 亚洲视频电影图片偷拍一区| 中文字幕一区二区三区电影| 91夜夜未满十八勿入爽爽影院| 97精品一区二区视频在线观看| 久久久久北条麻妃免费看| 国产精品美女在线| 91九色蝌蚪国产| 欧美激情免费看| 亚洲成人激情图| 亚洲xxx视频| 亚洲天堂免费在线| 欧美怡春院一区二区三区| 日韩一区在线视频| 欧美精品在线观看91| 狠狠久久五月精品中文字幕| 久久久91精品| 日韩经典一区二区三区| 国产精品伦子伦免费视频| 国产精品欧美激情| 免费97视频在线精品国自产拍| 亚洲国产精彩中文乱码av| www.日韩欧美| 97色在线视频观看| 欧美日韩在线另类| 91国产美女在线观看| 亚洲色图偷窥自拍| 国产精品爽黄69| 8x拔播拔播x8国产精品| 亚洲成人久久久| 亚洲国产精品久久久久| 欧美精品久久一区二区| 欧美极品美女视频网站在线观看免费| 亚洲精品短视频| 欧美激情啊啊啊| 国产视频久久网| 日韩女优人人人人射在线视频| 狠狠久久五月精品中文字幕| 国产精品久久久久aaaa九色| 国产精品海角社区在线观看| 国产精品视频网| 国产精品午夜视频| 亚洲人精品午夜在线观看| 日韩成人中文字幕在线观看| 欧美日韩国产综合视频在线观看中文| 欧美午夜精品久久久久久浪潮| 日韩av在线直播| 亚洲精品国产精品久久清纯直播| 亚洲电影免费观看高清| 一本大道香蕉久在线播放29| 国产精品免费视频久久久| 中文字幕亚洲欧美日韩高清| 欧美激情性做爰免费视频| 欧美性猛交xxxx黑人猛交| 欧美性猛交xxxx黑人| 欧美性资源免费| 亚洲国产精品久久久久久| 欧美激情va永久在线播放| 亚洲国产精品va在线看黑人| 成人精品视频在线| 91在线中文字幕| 亚洲va久久久噜噜噜久久天堂| 欧美伊久线香蕉线新在线| 欧美成人激情视频| 91久久精品国产91性色| 国产精品久久激情| 亚洲国产成人在线视频| 日韩中文字幕av| 日韩激情av在线免费观看| 国产精品三级网站| 麻豆成人在线看| 欧美精品国产精品日韩精品| 亚洲成av人乱码色午夜| 亚洲国产私拍精品国模在线观看| 色综合五月天导航| 亚洲欧美中文另类| 国产精品va在线播放我和闺蜜| 国产97在线|日韩| 欧美放荡办公室videos4k| 韩国一区二区电影| 日韩精品亚洲视频| 精品亚洲一区二区| 欧美大成色www永久网站婷| 久久久久久久国产| 丝袜亚洲欧美日韩综合| 日韩av一区在线| 午夜精品视频网站| 91国偷自产一区二区三区的观看方式| 欧美一级淫片aaaaaaa视频| 欧美精品aaa| 精品久久久免费| 亚洲成人网av| 亚洲欧洲国产精品| 国产91精品最新在线播放| 92福利视频午夜1000合集在线观看| 国产成人在线精品| 日韩免费在线播放| 欧美精品久久一区二区| 欧美在线视频播放| 美女999久久久精品视频| 欧美视频免费在线| 精品视频在线播放| 91探花福利精品国产自产在线| www.久久草.com| 69视频在线免费观看| 日韩资源在线观看| 日韩专区在线观看| 欧美日韩美女在线| 日韩中文视频免费在线观看| 揄拍成人国产精品视频| 欧美国产日韩一区二区| 国产精品av在线| 欧美专区第一页|