A端请求加密、BASE64编码;
B端响应BASE64解码、解密;
A端使用jdk1.4,这个版本本身没有支持非对称加解密的provider,所以需要自己下载一个,我下载了bcprov-jdk14-146.jar,并在加密中手动添加provider,代码:Security.addProvider(new BouncyCastleProvider());B端使用jdk1.5或者jdk1.6,这两个版本都有自带的provider,所以不需要下载。解密的时候报错:javax.crypto.BadPaddingException: Blocktype mismatch: 0
经测试,使用同样的证书、同样的字符串在AB两种环境下分别加密编码后的结果是不一样的,个人怀疑是否因为不同的provider引起的。求解!
B端响应BASE64解码、解密;
A端使用jdk1.4,这个版本本身没有支持非对称加解密的provider,所以需要自己下载一个,我下载了bcprov-jdk14-146.jar,并在加密中手动添加provider,代码:Security.addProvider(new BouncyCastleProvider());B端使用jdk1.5或者jdk1.6,这两个版本都有自带的provider,所以不需要下载。解密的时候报错:javax.crypto.BadPaddingException: Blocktype mismatch: 0
经测试,使用同样的证书、同样的字符串在AB两种环境下分别加密编码后的结果是不一样的,个人怀疑是否因为不同的provider引起的。求解!
解决方案 »
- 多层Filter嵌套怎么配置?(servlet相关)
- The requested resource (/LoginServlet/index.jsp) is not available.
- 如何用javascript实现一个具有两个选择的对话框?
- 项目中什么时候用存储过程?
- WebService 调用
- Extjs 全局风格切换问题 【求助贴】【Extjs】【周末加班 在线求助】
- 求教一个ssh问题
- weblogic环境无法下载图片,tomcat下正常
- tomcat 总是很慢,重启后速度才上去,过一天后又很慢,看LOG也没有报错,请高手帮忙
- 我在学ojb,但是apache网站提供都是tar文件,下载了以后总是出现错误,怎么办?
- Js播放音乐!!有什么方法让IE和FF都能支持呢??
- 急求jsp打印解决方案
String author = new sun.misc.BASE64Encoder()
.encode((username + ":" + password).getBytes());
是非对称加解密问题,不是BASE64。传输必须要BASE64编码,所以也顺便加上了。
SunJSSE RSA public key:
public exponent:
010001
modulus:
bc0ccd5d cc4c345a 709ff33f 8bcd4d13 e37799f5 3a912a81 53042315 dc3c1a1a
bcdc7e66 6b3e9777 a39054dd a0cd2bc1 09af73f5 4ac3c9bd 9ce5d5d5 5e433a0c
b3127231 e6c94518 a35f74bd eba18fc3 90f75cb9 c79c6150 22fe4b62 b3bc50e2
d73ef1c5 3d5a9744 2bcea183 ca93ee6e 0d5b7354 de4d9a43 5f74ba04 adc8ddc5
jdk1.6的结果
Sun RSA public key, 1024 bits
modulus: 132053206854501194529198893014497803582559064011271546463649493611754935055036000686091595242850003164098069583185587582185708037868412612334407384335825151453091261383984392005114549213331568712500752483198891711391754491395260463629012823023138918029303329610829336144310608420098441937607062820265185041861
public exponent: 65537
A端jdk1.4下测试加密编码每次的结果都是相同的。