@[利用易语言实现简单的文本加密和解密]
利用易语言实现简单的文本加密和解密
因为被百度贴吧的帖子审核制度搞到头皮发麻,所以将代码的解析和思路搬运到此
原文地址:https://blog.m-jay.cn/page/12/
源码的下载地址:https://pan.baidu.com/s/1DqtqwWyCATXzGB0FW7ojAA
贴吧的帖子:http://tieba.baidu.com/p/6012850013
醒目~本源码所需的精易模块已经同源码一齐上传到上面的网盘链接中
先说一下大致的加密思路:
- 1.首先把用户输入的字符串 “abc” 转换到URL的编码方式
对于URL编码,百度百科的链接:URL编码
编码后的字符串变成了:%61%62%63 - 2.制定一个一个字典,给二十六个字母大小写以及数字、百分号“%”指代一个具体的数值
我的自定义字典写成JSON的方式如下:
{
"MY_KEY":{
"a":21,
"b":22,
"c":23,
"d":24,
"e":25,
"f":26,
"g":27,
"h":28,
"i":29,
"j":30,
"k":31,
"l":32,
"m":33,
"n":34,
"o":35,
"p":36,
"q":37,
"r":38,
"s":39,
"t":40,
"u":41,
"v":42,
"w":43,
"x":45,
"y":46,
"z":47,
"0":48,
"1":49,
"2":50,
"3":51,
"4":52,
"5":53,
"6":54,
"7":55,
"8":56,
"9":67,
"A":65,
"B":66,
"C":67,
"D":68,
"E":69,
"F":70,
"G":71,
"H":72,
"I":73,
"J":74,
"K":75,
"L":76,
"M":77,
"N":78,
"O":79,
"P":80,
"Q":81,
"R":82,
"S":83,
"T":84,
"U":85,
"V":86,
"W":87,
"X":88,
"Y":89,
"Z":99
}
}
对于百分号“%” ,在字典中并没有指定,所以用10-99之间未被占用的数字作为“%”
原因是在URL编码中百分号出现的频率十分地高,这样做有利于提高被破解的难度
- 3.将自定义的字典编码代入URL编码后的字符 “%61%62%63”
结果为: 11|54|49|13|54|50|96|54|51|
其中 11 13 96 在上文的JSON没有被指定,所以代表百分号 “%” ,是随机生成的
54对应数字6 , 49 50 51 分别对应数字 1 2 3 - 4.将第三步返回的数字全部+20
结果为:
31|74|69|33|74|70|116|74|71| - 5.将第步的十进制数字转换为十六进制
结果为:26|4A|45|22|4A|46|27|4A|47| - 6.至此,加密完毕