开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 329|回复: 2
收起左侧

[精币悬赏] RSA分段加密解密

[复制链接]
结帖率:50% (2/4)
发表于 2024-9-22 19:30:33 | 显示全部楼层 |阅读模式   香港特别行政区*
300精币
附golang源码
func RsaDecrypt(priv *rsa.PrivateKey, encryptedData []byte, chunkSize int) ([]byte, error) { // RSA分段解密
    var decryptedData []byte
    for len(encryptedData) > 0 {
       size := chunkSize
       if len(encryptedData) < chunkSize {
          size = len(encryptedData)
       }
       decryptedChunk, err := rsa.DecryptPKCS1v15(rand.Reader, priv, encryptedData[:size])
       if err != nil {
          return nil, fmt.Errorf("解密失败: " + err.Error())
       }
       decryptedData = append(decryptedData, decryptedChunk...)
       encryptedData = encryptedData[size:]
    }
    return decryptedData, nil
}



func RsaDecrypt(priv *rsa.PrivateKey, encryptedData []byte, chunkSize int) ([]byte, error) { // RSA分段解密
    var decryptedData []byte
    for len(encryptedData) > 0 {
       size := chunkSize
       if len(encryptedData) < chunkSize {
          size = len(encryptedData)
       }
       decryptedChunk, err := rsa.DecryptPKCS1v15(rand.Reader, priv, encryptedData[:size])
       if err != nil {
          return nil, fmt.Errorf("解密失败: " + err.Error())
       }
       decryptedData = append(decryptedData, decryptedChunk...)
       encryptedData = encryptedData[size:]
    }
    return decryptedData, nil
}




我希望用易语言来完成这个加解密的操作  不要用js调用 我试过了 卡的无法直视 也不要某某模块  我要源码  各位大佬帮帮忙


现在附上用于测试的RSA秘钥  分别是
公钥 [color=rgba(0, 0, 0, 0.85)]PKIX 格式
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3aB1X7apDvwoK0cLw7tbj1svF
4CQmsobk5UL3Ee7QKc2xJgwUIJBx3qXMRrgAol0SPOYL9LHRCU7RRkj4rJYDpPec
snxcl//YWaSlly/JoxDMIroI9P9AQbbxHi/p4xZmPf1hvqYELz+cdl+diOFWXTct
Ru7Ewhrz1zOpDZDh3wIDAQAB
-----END PUBLIC KEY-----

私钥  PKCS8   1024位 -----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALdoHVftqkO/CgrR
wvDu1uPWy8XgJCayhuTlQvcR7tApzbEmDBQgkHHepcxGuACiXRI85gv0sdEJTtFG
SPislgOk95yyfFyX/9hZpKWXL8mjEMwiugj0/0BBtvEeL+njFmY9/WG+pgQvP5x2
X52I4VZdNy1G7sTCGvPXM6kNkOHfAgMBAAECgYEArBs0Zf2taBNOXibG8wZ9eqJm
6BHUesfO097bvzQB0S9ZSSI19XE1etV+6jl2k4nJIsMo8RE3B7zfTHzTHx/9SGcv
vgVkx/XYsgf3OScYLbnOzDcyFiNdU5o3/EPl6HAjmyCxLOV4xUGttFd0Zow81OW+
vp9as3Ug7pVApFW9GgkCQQDxSXW/AkLbNv1GqmZkDU+4JrrXYMyPYxF9cuwrGU9L
c6Df/PgBsUR5n4LJRJnlRb+jl//PtNmdk2+g65eWliudAkEAwpchuOJQzpPIQH/Z
9lmZW7ukJi/qdyMckLEjNV+5UzsBypARh0iy1AvdB5P7O2TNpivOxMznNa2NTXMz
CPzAqwJAP8Y00vmcBijwpL7hNUy3Z2sFM2woZTXAJ7I6beHQrZawTMOmIXxjJupc
PSpeqtTWpDzGpnWclyOi+5uJg4nJmQJBALZBpbUsTDFgW3SGC1lgzHIOCw41XO8f
dNbVArwwHz2ki+X1EGXcoppXTjuVz/7uSGu2pmDP5lLxbeK33noxeicCQGDFFo0j
F/phjyvV39Zy9n7lpZFpXf5p+2UhlUJMRrR2oKP5ARFgF8ChSwJk/k9ZKKbD/xkr
Cq0CUZ/fct6np8Q=
-----END PRIVATE KEY-----















补充内容 (2024-9-22 19:32):
func RsaEncrypt(pub *rsa.PublicKey, data []byte, chunkSize int) ([]byte, error) { // RSA分段加密
        var encryptedData []byte
        for len(data) > 0 {
                size := chunkSize
                if len(data) < chunkSize {
...

结帖率:50% (2/4)
 楼主| 发表于 2024-9-22 19:33:39 | 显示全部楼层   香港特别行政区*
func RsaEncrypt(pub *rsa.PublicKey, data []byte, chunkSize int) ([]byte, error) { // RSA分段加密
        var encryptedData []byte
        for len(data) > 0 {
                size := chunkSize
                if len(data) < chunkSize {
                        size = len(data)
                }
                encryptedChunk, err := rsa.EncryptPKCS1v15(rand.Reader, pub, data[:size])
                if err != nil {
                        return nil, fmt.Errorf("加密失败: " + err.Error())
                }
                encryptedData = append(encryptedData, encryptedChunk...)
                data = data[size:]
        }
        return encryptedData, nil
}
回复

使用道具 举报

结帖率:50% (2/4)
 楼主| 发表于 2024-9-22 19:33:22 | 显示全部楼层   香港特别行政区*
func RsaEncrypt(pub *rsa.PublicKey, data []byte, chunkSize int) ([]byte, error) { // RSA分段加密         var encryptedData []byte         for len(data) > 0 {                 size := chunkSize                 if len(data) < chunkSize {                         size = len(data)                 }                 encryptedChunk, err := rsa.EncryptPKCS1v15(rand.Reader, pub, data[:size])                 if err != nil {                         return nil, fmt.Errorf("加密失败: " + err.Error())                 }                 encryptedData = append(encryptedData, encryptedChunk...)                 data = data[size:]         }         return encryptedData, nil }  忘了附上加密  前面的两个都是解密的 这里附加上了  抱歉
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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