|
发表于 2024-12-2 22:22:43
高大上手机用户
|
显示全部楼层
福建省福州市
.版本 2
.子程序 AesDecrypt, 文本型
.参数 encryptedText, 文本型
.参数 secret, 文本型
.局部变量 cipherData, 字节集
.局部变量 saltData, 字节集
.局部变量 key, 字节集
.局部变量 iv, 字节集
.局部变量 data, 字节集
cipherData = 编码_BASE64解码 (encryptedText)
saltData = 取字节集中间 (cipherData, 9, 8)
GenerateKeyAndIV (saltData, 到字节集 (secret), key, iv)
data = 取字节集右边 (cipherData, 取字节集长度 (cipherData) - 16)
返回 (编码_Utf8到Ansi (对称解密 (data, key, #对称算法_AES_256_CBC, , iv)))
.子程序 GenerateKeyAndIV
.参数 saltData, 字节集
.参数 password, 字节集
.参数 key, 字节集, 参考
.参数 iv, 字节集, 参考
.局部变量 i, 整数型
.局部变量 one, 文本型
.局部变量 md5str, 文本型
.局部变量 str, 文本型
.局部变量 arr, 字节集
.计次循环首 (3, i)
md5str = 校验_取md5 (字节集_十六进制到字节集 (md5str) + password + saltData)
str = str + md5str
.计次循环尾 ()
arr = 字节集_十六进制到字节集 (str)
key = 取字节集左边 (arr, 32)
iv = 取字节集中间 (arr, 33, 16)
从某个代码中抠出来的应该能用 |
|