易语言 精易模块的 文本_加密 算法我使用Python开发了一套,然后用JavaScript开发了一套(但是实际测试中,JavaScript部分算出的结果略有出入)
我Python的算法没有经过高强度测试,你可以测试一下。
# -*- coding:utf-8 -*-
# -*- 人生苦短,Python当歌
import hashlib
# 文本_加密
def e_text_encrypt(text, password):
_bytes_text = bytes(text, encoding="gb2312")
_temp = ''
# 对待加密文本进行字符分隔,并获取每个字符的ascii码进行位异或,再将转换后的ascii转换为字符并进行合并
for i in range(0, len(_bytes_text)):
# print(_bytes[i]) # 通过字符取其ascii码
wyh = _bytes_text[i] ^ 3600
# print(wyh, type(wyh), chr(wyh % 256)) # 将字符的ascii数值进行位异或
_temp = _temp + chr(wyh % 256)
# 将新的ascii组合转换为16进制字符 大写
# print(_temp)
# print(_temp.encode().hex())
_word = _temp.encode().hex()
_word = _word.upper()
# 将密码明文转换为32位大写MD5
# print(md5_pass)
md5_pass = hashlib.md5(password.encode()).hexdigest()
# print(md5_pass[2:11]) # 从第3个字符开始取9个字符串(从第3个开始到第11个,共计9个)
# print(md5_pass[2:11].upper()) # 转换为大写
md5_pass = md5_pass[2:11].upper()
# 明文+密码合并
_pass = _word + md5_pass
return _pass
if __name__ == "__main__":
# 暂时仅支持非中文字符加密
print(e_text_encrypt('test', '12345'))
补充内容 (2020-10-13 16:13):
知道每个语言中某个函数的加密算法,那么自然根据算法就可以在另外一个语言写一个算法,这样他们就是一致的。我这个是 文本_加密(明文,密码文本)
补充内容 (2020-10-13 16:15):
精易模块的 文本_加密 算法,参照:http://ec.125.la/sub.htm |