递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 71|回复: 4
打印 上一主题 下一主题

[视窗] 火山视窗RSA加密,调试失败

[复制链接]

1

主题

7

帖子

31

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
31
跳转到指定楼层
楼主
发表于 4 小时前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
下面是代码。单击按钮2,被调试程序已经退出,退出码为0xC0000005.
调试已经停止。这是什么原因啊


<火山程序 类型 = "通常" 版本 = 1 />

常量 你的公钥常量 <类型 = 文本型
        值 = "-----BEGIN RSA PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCErGXIgGA283qktOXmf1CXIEPGzRUBxIQJeh0EmppDTrSwh8VjLnNXKEbfstR/ADAEpDunvoEI9lnXAm2ixz/AuxJb5fIHyk55qNr0InxtaJsLPQA8QMXXgyAAzVx4Lpsq0gX0DNVVkm/IdZLEazTOy52bpd5cmIZ15pibRetqjwIDAQAB\r\n-----END RSA PUBLIC KEY-----">

方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
{
    如果 (来源对象 == 按钮2)
    {

        变量 加密后文本 <类型 = 文本型>
        加密后文本 = RSA公钥加密_修正版 ("123456")
        调试输出 ("加密后的密文: ", 加密后文本)


    }

    如果 (来源对象 == 按钮1)
    {

        读取网页 ()
        读取** ()

    }
    返回 (0)

}

<火山程序 类型 = "通常" 版本 = 1 />

方法 RSA公钥加密_修正版 <公开 静态 类型 = 文本型>
参数 待加密文本 <类型 = 文本型>
{

    // 2. 将公钥常量转换为字节集
    变量 公钥字节集 <类型 = 字节集类>
    公钥字节集 = 文本到UTF8 (你的公钥常量)

    // 3. 将待加密文本转换为UTF-8字节集
    变量 待加密数据 <类型 = 字节集类>
    待加密数据 = 文本到UTF8 (待加密文本)

    // 4. 核心加密步骤:调用 OpenSSL 进行公钥加密
    变量 加密结果字节集 <类型 = 字节集类>
    变量 加解密 <类型 = 加解密类>

    加密结果字节集 = 加解密.加密_RSA_公钥 (待加密数据, 公钥字节集)

    // 5. 检查是否加密成功
    如果 (加密结果字节集.取字节集长度 () == 0)
    {
        调试输出 ("错误:RSA加密失败,请检查公钥格式")
        返回 ("")
    }

    // 6. 将加密后的二进制数据转为BASE64文本返回
    返回 (加密结果字节集.字节集到BASE64文本 (BASE64编码方式.标准, -1))
}



回复

使用道具 举报

31

主题

2885

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10291
5#
发表于 半小时前 | 只看该作者

我不是贴了代码吗?
openssl 不支持 BEGIN  RSA PUBLIC KEY / END RSA PUBLIC KEY
改成 BEGIN PUBLIC KEY / END PUBLIC KEY 就行了
回复

使用道具 举报

497

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
48763
QQ
地板
发表于 1 小时前 | 只看该作者

-----BEGIN RSA PUBLIC KEY----- 这个头尾信息删掉试试??注意不要有换行。仔细排查一下。
安卓无障碍课:点击查看
接安卓类库封装,需要的联系570828305
回复

使用道具 举报

1

主题

7

帖子

31

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
31
板凳
 楼主| 发表于 2 小时前 | 只看该作者
Xelloss0618 发表于 2026-6-2 16:57
RSA公钥有些不兼容,改一下就好。

怎么改呀
回复

使用道具 举报

31

主题

2885

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10291
沙发
发表于 3 小时前 | 只看该作者
RSA公钥有些不兼容,改一下就好。

<火山程序 类型 = "通常" 版本 = 1 />

常量 你的公钥常量 <类型 = 文本型
        值 = "-----BEGIN PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCErGXIgGA283qktOXmf1CXIEPGzRUBxIQJeh0EmppDTrSwh8VjLnNXKEbfstR/ADAEpDunvoEI9lnXAm2ixz/AuxJb5fIHyk55qNr0InxtaJsLPQA8QMXXgyAAzVx4Lpsq0gX0DNVVkm/IdZLEazTOy52bpd5cmIZ15pibRetqjwIDAQAB\r\n-----END PUBLIC KEY-----">
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-6-2 20:46 , Processed in 0.083872 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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