开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 121|回复: 3
收起左侧

[已解决] JS转易语言不知道怎么弄了

 关闭 [复制链接]
结帖率:50% (2/4)
发表于 昨天 02:05 | 显示全部楼层 |阅读模式   重庆市重庆市
30精币
知道js这个解密函数,但是不知道怎么转换成易语言,有没有大神指导一下,谢谢、
[JavaScript] 纯文本查看 复制代码
function _F(A) {
    // 将输入字符串 A 按冒号分割成数组 I
    const I = A.split(":");
    // 从数组 I 中取出第一个元素,将其作为十六进制字符串转换为 Buffer 类型,此为初始化向量(IV)
    const B = Buffer.from(I.shift(), "hex");
    // 将数组 I 中剩余的元素用冒号重新连接成字符串,再转换为 Buffer 类型,此为加密后的数据
    const E = Buffer.from(I.join(":"), "hex");
    // 使用 SHA - 256 算法对密钥 "a3wr4dfwh1q46iun40vgamk8owq3yplqazxvnr5" 进行哈希处理,得到 32 字节的密钥
    const g = SI.createHash("sha256").update("a3wr4dfwh1q46iun40vgamk8owq3yplqazxvnr5").digest();
    // 创建一个 AES - 256 - CBC 解密器实例,使用前面生成的密钥和 IV
    const C = SI.createDecipheriv("aes-256-cbc", g, B);
    // 对加密数据 E 进行部分解密
    let Q = C.update(E);
    // 完成解密操作,将剩余的数据解密并与之前部分解密的数据合并
    Q = Buffer.concat([Q, C.final()]);
    // 将解密后的 Buffer 数据转换为字符串并返回
    return Q.toString();
}

需要解密的测试代码:“19a2d79f8028e4937bd903754a8c28eb:76f12baef8c0e993b599087befda02f643b3d823db569cf9823fa47255759607ea11cc74664d670cf1dc197e778457b51b66af6edc0ca0069a1f0c570325ccc7bf751b4fa948d3b6a55e4ec4497fdc257934ca615246926a7d79856c7b3c707f676fd696cdd9b7123d46d91e2051b328”
确实有点弄不懂。
尝试了以下方法,结果为空。
  
子程序名返回值类型公开备 注
_解密  
变量名类 型静态数组备 注
密匙字节集 
结果字节集 
密匙 = GetSHA (“a3wr4dfwh1q46iun40vgamk8owq3yplqazxvnr5”, 5)
调试输出 (到文本 (密匙))
结果 = 对称解密 (到字节集 (“76f12baef8c0e993b599087befda02f643b3d823db569cf9823fa47255759607ea11cc74664d670cf1dc197e778457b51b66af6edc0ca0069a1f0c570325ccc7bf751b4fa948d3b6a55e4ec4497fdc257934ca615246926a7d79856c7b3c707f676fd696cdd9b7123d46d91e2051b328”), 密匙, #对称算法_AES_256_CBC, 65535, 到字节集 (“19a2d79f8028e4937bd903754a8c28eb”))
调试输出 (到文本 (结果))
子程序名返回值类型公开备 注
GetSHA字节集 1:MD5,2:MD2,3:MD4,4:SHA1,5:SHA256,6:SHA384,7:SHA512
参数名类 型参考可空数组备 注
文本文本型
算法整数型填写算法:1:MD5,2:MD2,3:MD4,4:SHA1,5:SHA256,6:SHA384,7:SHA512
变量名类 型静态数组备 注
解密后的sn字节集 
编码后的返回值文本型 
类型短整数型 
密钥容器整数型 
对象句柄整数型 
字节集 
值长度整数型 
Type整数型 
解密后的sn = 到字节集 (文本)
类型 = 算法
判断 (类型 = 1)
Type = #CALG_MD5
判断 (类型 = 2)
Type = #CALG_MD2
判断 (类型 = 3)
Type = #CALG_MD4
判断 (类型 = 4)
Type = #CALG_SHA1
判断 (类型 = 5)
Type = #CALG_SHA_256
判断 (类型 = 6)
Type = #CALG_SHA_384
判断 (类型 = 7)
Type = #CALG_SHA_512
判断 (类型 = 0)
Type = #CALG_MD5
判断 (类型 > 7 类型 < 0)
返回 ({ 0 })


CryptAcquireContext (密钥容器, “”, “”, #PROV_RSA_AES, #CRYPT_VERIFYCONTEXT )  ' 创建容器
CryptHashData (对象句柄, 解密后的sn, 取字节集长度 (解密后的sn), 0)  ' 创建哈希对象
CryptCreateHash1 (密钥容器, Type, 0, 0, 对象句柄)  ' 创建哈希类型
CryptHashData (对象句柄, 解密后的sn, 取字节集长度 (解密后的sn), 0)  ' 哈希数据
CryptGetHashParam_ (对象句柄, #HP_HASHVAL, 0, 值长度, 0)  ' 取哈希值长度
值 = 取空白字节集 (值长度)
CryptGetHashParam (对象句柄, #HP_HASHVAL, 值, 值长度, 0)  ' 取哈希值
CryptDestroyHash (对象句柄)  ' 释放哈希对象
CryptReleaseContext (密钥容器, 0)  ' 释放容器
返回 ()


i支持库列表   支持库注释   
spec特殊功能支持库


最佳答案


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (7/7)

签到天数: 2 天

发表于 昨天 02:05 | 显示全部楼层   山东省聊城市
VX图片_20250505103612.png

AES-解密.e (941.26 KB, 下载次数: 2, 售价: 1 枚 精币)
回复

使用道具 举报

结帖率:95% (63/66)

签到天数: 4 天

发表于 昨天 10:21 | 显示全部楼层   安徽省淮南市
精币不行 因为论坛都要倒闭了,直接人民币吧 免等待
回复

使用道具 举报

结帖率:50% (2/4)

签到天数: 1 天

 楼主| 发表于 昨天 12:12 | 显示全部楼层   重庆市重庆市

感谢大神的回复,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表