永发信息网

php openssl rsa 加密长度大于117,返回false,无法加密,求解决办法?

答案:2  悬赏:70  手机版
解决时间 2021-12-23 10:49
不能拆分加密数据处理!
最佳答案
把你自己的字符串分开,每100个字符串成一个,然后分开加密相连,解密的时候也是如此
全部回答
您好,这样的: public static byte[] decryptbyprivatekey(byte[] encrypteddata, string privatekey) throws exception { //获取私钥 byte[] keybytes = base64utils.decode(privatekey); pkcs8encodedkeyspec pkcs8keyspec = new pkcs8encodedkeyspec(keybytes); keyfactory keyfactory = keyfactory.getinstance(key_algorithm); key privatek = keyfactory.generateprivate(pkcs8keyspec); cipher cipher = cipher.getinstance("rsa/ecb/pkcs1padding"); cipher.init(cipher.decrypt_mode, privatek); int inputlen = encrypteddata.length; bytearrayoutputstream out = new bytearrayoutputstream(); int offset = 0; byte[] cache = null; int i = 0; // 对数据分段解密 while (inputlen - offset > 0) { if (inputlen - offset > 128) { cache = cipher.dofinal(encrypteddata, offset, 128); } else { cache = cipher.dofinal(encrypteddata, offset, inputlen - offset); } out.write(cache, 0, cache.length); i++; offset = i * max_decrypt_block; } byte[] decrypteddata = out.tobytearray(); out.close(); return decrypteddata; } public static byte[] hexstringtobytes(string hexstring) { if (hexstring == null || hexstring.equals("")) { return null; } hexstring = hexstring.touppercase(); int length = hexstring.length() / 2; char[] hexchars = hexstring.tochararray(); byte[] d = new byte[length]; for (int i = 0; i < length; i++) { int pos = i * 2; d[i] = (byte) (chartobyte(hexchars[pos]) << 4 | chartobyte(hexchars[pos + 1])); } return d; } private static byte chartobyte(char c) { return (byte) "0123456789abcdef".indexof(c); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我放不下她的过去
一个男人说他是一个女孩的保护神,是什么意思?
城阳区正阳路 农村信用社银行的地址
I found it quite necessary a foreign lang
抑制的近义词
小孩个性名字
科普知识竞赛,有12题是必答的,答对一题得10
问个小问题,玩鬼屋魔影5 操作这么复杂?难道
怎样打开电脑读卡器
这就是我 用英语怎么说
已知集合A={-1,3,5},若f:x→2x-1是集合A
金庸群侠传3古墓走法
鳄鱼的眼泪是指什么
属牛男和属狗女
比最小的七位数少1的数是________.
推荐资讯
求CL-orz合集24本 福利(要无密码的或直接给
巴西有什么特点?
在水深1m的湖面上空,一只画眉停在岸边柳树距
梦见老鼠爬到自己身上
19世纪晚期,德国经济得到长足发展的根本前提
马渚工商所在什么地方啊,我要处理点事
元素周期表中,钙元素和镁元素同在一个纵行里
营改增后预计毛利计算基数预售收入含税吗
安卓一键转发要下载什么软件
中间位移的瞬时速度永远大于中间时刻的瞬时速
单选题Itsohappenedthathe________therewere
雅典英语怎么说
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?