国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

解析Asp.net,C# 純數字加密解密字符串的應用

2024-07-10 12:45:35
字體:
來源:轉載
供稿:網友

繼上篇:Asp.net,C# 加密解密字符串的使用詳解,有網友提問:

image

也就是說加密后的數據不再是:N8lAaHMFtSAQgaf3+RUFng==

image 
 

希望encryptedString是"120387789370480938409832840923492384028934…”;

當然上面的數字是我隨便亂敲的。

那么如何實現純數字呢??

想法很簡單,只要將字符變成Ascll 碼就可以了。例如a:97, =:61;

那么encryptedString 就可以變成 97 81 61 33 44 55 。。。;

但是如果合在一起的話就變成了978161334455.

問題來了:我怎么知道97是a,而不是9,7 呢?

如果你知道計算機是二進制表示的話,你就應該可以想到,我們可以將97變成0,1形式。

從而上面的數字就可以變成0001 0011 011 111 001.

OK,我們還有2,3,4,5,6,7,8,9,沒有使用,所以可以使用任意一個字符來分隔。

例如將上面的數字變成0001 2 0011 2 011 2 111 2 001

當然上面是可以完成數字的編碼的,但是還有3,4,5,6,7,8,9都被浪費掉了,

所以在這里我們不應該選擇2進制,最好應該選擇9進制。什么??9進制?

對,9進制:0,1,2,3,4,5,6,7,8,10.其中10代表9,然后9作為分隔符號;

可惜的是C#代碼不支持9進制,所以為了方便選擇8進制了。

代碼如下:
代碼如下:
/// <summary>
        /// 將字符串轉換成數字字符串
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        private static string ConvertStringToNumbers(string value)
        {
            StringBuilder sb = new StringBuilder();

            foreach (char c in value)
            {
                int cAscil = (int)c;
                sb.Append(Convert.ToString(c, 8) + "9");
            }

            return sb.ToString();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安顺市| 平潭县| 赤峰市| 蒙阴县| 苏尼特左旗| 武夷山市| 延安市| 远安县| 青川县| 许昌市| 察隅县| 涞源县| 巴林左旗| 秭归县| 广德县| 绩溪县| 同德县| 桓台县| 抚顺县| 文山县| 通榆县| 遂川县| 鄂尔多斯市| 武义县| 北流市| 安多县| 内丘县| 扎兰屯市| 定襄县| 祥云县| 新乐市| 凤庆县| 江门市| 锡林郭勒盟| 桃江县| 大厂| 双鸭山市| 财经| 邢台市| 克什克腾旗| 湘乡市|