开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

12
返回列表 发新帖
楼主: j68832688
收起左侧

[易语言] python 一小段代码,转易语言!!!!

[复制链接]
结帖率:98% (162/165)
 楼主| 发表于 3 天前 | 显示全部楼层   湖南省长沙市
老大们,帮帮忙啊!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 3 天前 | 显示全部楼层   贵州省遵义市
.版本 2

.子程序 加载PEM私钥, 逻辑型, 公开
.参数 pem_key, 文本型
.参数 private_key, 二进制型, 传址

.局部变量 result, 逻辑型
result = 假
' 这里需要实现加载PEM私钥的逻辑
' 由于易语言没有直接的库支持,需要自行实现或调用外部库
' 例如,可以使用DLL调用或其他方式实现
' 这里假设有一个函数 LoadPemPrivateKey 实现了这个功能
.如果 (LoadPemPrivateKey(pem_key, private_key))
    result = 真
.结束如果

.返回 (result)

.子程序 签名, 逻辑型, 公开
.参数 data, 文本型
.参数 private_key, 二进制型
.参数 signature, 二进制型, 传址

.局部变量 result, 逻辑型
result = 假
' 这里需要实现签名的逻辑
' 由于易语言没有直接的库支持,需要自行实现或调用外部库
' 例如,可以使用DLL调用或其他方式实现
' 这里假设有一个函数 SignData 实现了这个功能
.如果 (SignData(data, private_key, signature))
    result = 真
.结束如果

.返回 (result)

.子程序 基64编码, 文本型, 公开
.参数 data, 二进制型

.局部变量 encoded_data, 文本型
encoded_data = ""
' 这里需要实现Base64编码的逻辑
' 由于易语言没有直接的库支持,需要自行实现或调用外部库
' 例如,可以使用DLL调用或其他方式实现
' 这里假设有一个函数 Base64Encode 实现了这个功能
encoded_data = Base64Encode(data)

.返回 (encoded_data)

.子程序 getsign, 文本型, 公开
.参数 t, 文本型
.参数 k, 文本型

.局部变量 private_key, 二进制型
.局部变量 signature, 二进制型
.局部变量 back, 文本型

.如果 (加载PEM私钥(k, private_key))
    .如果 (签名(t, private_key, signature))
        back = 基64编码(signature)
    .否则
        输出调试文本("签名失败")
    .结束如果
.否则
    输出调试文本("加载私钥失败")
.结束如果

.返回 (back)

.子程序 主程序
.局部变量 t, 文本型
.局部变量 k, 文本型
.局部变量 result, 文本型

t = "1731684612"
k = "-----BEGIN PRIVATE KEY-----" + #回车 + "MIGHAgEAMBMGByqUIM" + #回车 + "-----END PRIVATE KEY-----"
result = getsign(t, k)
输出调试文本(result)
回复 支持 反对

使用道具 举报

结帖率:98% (162/165)

签到天数: 19 天

 楼主| 发表于 3 天前 | 显示全部楼层   湖南省长沙市
155能不能 发表于 2024-11-16 19:04
.版本 2

.子程序 加载PEM私钥, 逻辑型, 公开

我晕死,我不是要说明,我要翻译,大哥.
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 17 天

发表于 前天 10:40 | 显示全部楼层   云南省楚雄彝族自治州
.版本 2

.支持库 eCrypt

.子程序 getsign, 文本型, 公开
    .参数 t, 文本型
    .参数 k, 文本型
    .局部变量 private_key, 整数型
    .局部变量 signature, 字节集
    .局部变量 back, 文本型

    ; 加载私钥
    private_key = PEM加载私钥 (k, )

    ; 签名数据
    signature = ECDSA签名 (private_key, t, #SHA256)

    ; 将签名编码为Base64
    back = 到文本 (Base64编码 (signature))

    返回 (back)

.子程序 PEM加载私钥, 整数型, 私有
    .参数 pem_key, 文本型
    .局部变量 key, 整数型

    ; 这里假设存在一个函数来加载PEM格式的私钥
    ; 实际应用中可能需要使用外部库或API来实现这一功能
    key = 加载PEM密钥 (pem_key)
    返回 (key)

.子程序 ECDSA签名, 字节集, 私有
    .参数 private_key, 整数型
    .参数 data, 文本型
    .参数 hash_algorithm, 整数型
    .局部变量 signature, 字节集

    ; 这里假设存在一个函数来进行ECDSA签名
    ; 实际应用中可能需要使用外部库或API来实现这一功能
    signature = 执行ECDSASignature (private_key, 数据到字节集 (data), hash_algorithm)
    返回 (signature)

.子程序 Base64编码, 字节集, 私有
    .参数 data, 字节集
    .局部变量 encoded_data, 字节集

    ; 使用易语言内置的Base64编码函数
    encoded_data = 编码Base64 (data)
    返回 (encoded_data)

.子程序 数据到字节集, 字节集, 私有
    .参数 data, 文本型
    .局部变量 byte_data, 字节集

    ; 将文本转换为字节集
    byte_data = 到字节集 (data)
    返回 (byte_data)

.子程序 加载PEM密钥, 整数型, 私有
    .参数 pem_key, 文本型
    .局部变量 key, 整数型

    ; 这里假设存在一个函数来加载PEM格式的私钥
    ; 实际应用中可能需要使用外部库或API来实现这一功能
    ; 示例中直接返回一个假定的密钥句柄
    key = 1
    返回 (key)

.子程序 执行ECDSASignature, 字节集, 私有
    .参数 private_key, 整数型
    .参数 data, 字节集
    .参数 hash_algorithm, 整数型
    .局部变量 signature, 字节集

    ; 这里假设存在一个函数来进行ECDSA签名
    ; 实际应用中可能需要使用外部库或API来实现这一功能
    ; 示例中直接返回一个假定的签名
    signature = { 0, 1, 2, 3, 4, 5 }
    返回 (signature)
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 前天 10:51 | 显示全部楼层   安徽省蚌埠市
不会但支持一下吧
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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