手机版

解析ASP的应用 NET和C #纯数字加解密字符串

时间:2021-11-20 来源:互联网 编辑:宝哥软件园 浏览:

继上一篇文章:Asp.net、C#加解密字符串用法详情后,有网友提问:image

也就是说,加密后的数据不再是n8laahmftsaqgaf3rufeng==(9501 . 163.com)。

我希望加密字符串是‘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。好的,我们还有2,3,4,5,6,7,8,9,这些是不用的,所以我们可以用任何字符来分隔它们。例如,将上述数字更改为0001 2 0011 2 011 2 111 2 001。当然,上面的数字是可以编码的,但是还是有3、4、5、6、7、8、9浪费了,所以我们这里不应该选择二进制,而应该选择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私有静态字符串ConvertStringToNumbers(字符串值){ StringBuilder sb=new StringBuilder();foreach(char c in value){ int cassil=(int)c;某人(somebody的简写)追加(转换。ToString(c,8)' 9 ');}归还某人。ToString();} string encrypted numberstring=ConvertStringToNumbers(encrypted string);加密的数字串=11697091549101914191109115910691649123919121914791419149149149539129125910615915915915915915915、5915912、5914914、59147914914、5914914914、595953959129已经成功分离,剩下的就是从这对数字组成的字符串中重新提取字符。代码如下:复制代码代码如下:///summary ///将数字字符串转换为普通字符串////summary///param name=' value '/param///returns/returns private static string convertnumbersostring(字符串值){ string[] splitInt=value。Split(新字符[] { '9' },StringSplitOptions。RemoveEmptyEntries);var splitChars=splitInt。选择=转换。转换。to t32(s,8))。ToString());返回字符串。Join(' ',splitChars);}结果如下:image

其余的都是读者自己玩的…

版权声明:解析ASP的应用 NET和C #纯数字加解密字符串是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。