开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 2046|回复: 14
收起左侧

[已解决] 求算法RSA/ECB/NoPadding

 关闭 [复制链接]

结帖率:95% (19/20)
发表于 2021-1-8 17:54:19 | 显示全部楼层 |阅读模式   河南省商丘市
5精币
  1. public static String encryptPassword(String str) {
  2.                 try {
  3.                         byte[] bytes = str.getBytes("UTF8");
  4.                         PrivateKey generatePrivate = KeyFactory.getInstance("RSA")
  5.                                         .generatePrivate(new RSAPrivateKeySpec(new BigInteger(
  6.                                                         "8983556970082806072261113298370959076142893170423488416059191100210358114802049032983889493302173157165863643606239492524847800665553743035328512591065037"),
  7.                                                         new BigInteger("65537")));
  8.                         Cipher instance = Cipher.getInstance("RSA/ECB/NoPadding");
  9.                         instance.init(1, generatePrivate);
  10.                         return new String(Base64.getEncoder().encodeToString(instance.doFinal(bytes)));
  11.                 } catch (Exception e) {
  12.                         e.printStackTrace();
  13.                         return str;
  14.                 }
  15.         }
复制代码




补充内容 (2021-1-8 18:49):
明文 123456 密文 VOfTpsd6iC8mObSNjXYrT/m7dfMjpu5j6V2BoFOlI2WXWfjO/rJ2UB+y9wLvPKi6qr8hGsDH2V9qW0MiFDNtbQ==

最佳答案

查看完整内容

补充一下,不是向后,是在明文前填充0 准确的说,是对明文字节集向前填充字节0到位数与加密密钥长度一样

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:52% (14/27)
发表于 2021-1-8 17:54:20 | 显示全部楼层   江苏省苏州市
我冒得感情 发表于 2021-1-8 20:38
就是标准的RSA
唯一的不同就是 模数和key是10进制的
要转换成16进制

补充一下,不是向后,是在明文前填充0
准确的说,是对明文字节集向前填充字节0到位数与加密密钥长度一样
回复

使用道具 举报

结帖率:52% (14/27)
发表于 2021-1-8 18:00:47 | 显示全部楼层   江苏省苏州市
不是标准的RSA么

点评

8983556970082806072261113298370959076142893170423488416059191100210358114802049032983889493302173157165863643606239492524847800665553743035328512591065037 这个密钥和平常见的不一样啊。   河南省商丘市  详情 回复 发表于 2021-1-8 18:28
回复

使用道具 举报

结帖率:95% (19/20)

签到天数: 19 天

 楼主| 发表于 2021-1-8 18:28:21 | 显示全部楼层   河南省商丘市

8983556970082806072261113298370959076142893170423488416059191100210358114802049032983889493302173157165863643606239492524847800665553743035328512591065037
这个密钥和平常见的不一样啊。
回复

使用道具 举报

结帖率:100% (26/26)
发表于 2021-1-8 18:28:46 | 显示全部楼层   重庆市重庆市
RSA指针=RSA_new()
写入n和e的值
n:RSA指针+16
e:RSA指针+20
RSA_public_encrypt()

论坛有相关的openss的demo

需要注意的是:
填充方式为NoPadding时,加密内容需要自行在前面填充{0}
内容需按长度进行分块加密



点评

大神,没找到,麻烦了   河南省商丘市  详情 回复 发表于 2021-1-8 18:32
回复

使用道具 举报

结帖率:95% (19/20)

签到天数: 19 天

 楼主| 发表于 2021-1-8 18:32:58 | 显示全部楼层   河南省商丘市
梦寻简单 发表于 2021-1-8 18:28
RSA指针=RSA_new()
写入n和e的值
n:RSA指针+16

大神,没找到,麻烦了
回复

使用道具 举报

结帖率:100% (26/26)
发表于 2021-1-8 18:35:46 | 显示全部楼层   重庆市重庆市

点评

看了半天没弄懂,大神帮忙改下吧   河南省商丘市  详情 回复 发表于 2021-1-8 19:03
大神,能帮忙改一下吗?真的对这个rsa不是很了解,请再次收下我的膝盖   河南省商丘市  详情 回复 发表于 2021-1-8 18:39
回复

使用道具 举报

结帖率:95% (19/20)

签到天数: 19 天

 楼主| 发表于 2021-1-8 18:39:44 | 显示全部楼层   河南省商丘市
梦寻简单 发表于 2021-1-8 18:35
https://bbs.125.la/forum.php?mod=viewthread&tid=14090835
改一改就能用了

大神,能帮忙改一下吗?真的对这个rsa不是很了解,请再次收下我的膝盖
回复

使用道具 举报

结帖率:100% (4/4)

签到天数: 3 天

发表于 2021-1-8 18:43:43 | 显示全部楼层   浙江省衢州市
没明文和密文嘛

点评

明文 123456 密文 VOfTpsd6iC8mObSNjXYrT/m7dfMjpu5j6V2BoFOlI2WXWfjO/rJ2UB+y9wLvPKi6qr8hGsDH2V9qW0MiFDNtbQ==   河南省商丘市  详情 回复 发表于 2021-1-8 18:45
回复

使用道具 举报

结帖率:95% (19/20)

签到天数: 19 天

 楼主| 发表于 2021-1-8 18:45:47 | 显示全部楼层   河南省商丘市
MrSean 发表于 2021-1-8 18:43
没明文和密文嘛

明文
123456
密文
VOfTpsd6iC8mObSNjXYrT/m7dfMjpu5j6V2BoFOlI2WXWfjO/rJ2UB+y9wLvPKi6qr8hGsDH2V9qW0MiFDNtbQ==
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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