首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问一个关于RSA加解密的有关问题

2012-03-09 
请教一个关于RSA加解密的问题现在遇到了这个一个问题首先环境说明一下解密的一方是linux下,用java的,公钥

请教一个关于RSA加解密的问题
现在遇到了这个一个问题
首先环境说明一下
解密的一方是linux下,用java的,公钥由这方提供
加密的一方是windows,用VC6的,现在出现了问题

加密:用windows   CryptoAPI
由解密方提供公钥,其中包括e和n,然后按照
PUBLICKEYSTRUC     publickeystruc   ;
RSAPUBKEY   rsapubkey;
BYTE   modulus[rsapubkey.bitlen/8];
这样的格式填充得到加密用的公钥
然后用CryptEncrypt加密

解密:
java.security.spec.RSAPublicKeySpec;
java.security.spec.RSAPrivateKeySpec;
java.security.spec.InvalidKeySpecException;
java.security.interfaces.RSAPrivateKey;
java.security.interfaces.RSAPublicKey;

用的是几个库,但是加密的东西解密出错了,解不开明文

请问各位大大,这样做合理吗?
如果不合理的话请指出那个地方需要更正的。。。
另外有那位大大有这方面经验的,请指教一二,万分感谢。。

[解决办法]
1. RSA 加解密的时候,不止需要公私钥,还有一些控制参数需要注意,比如有个 padding 的东西,两边要一致的。

2. 先在 VC6 这边做一个解密程序,成功后,在 Java 那边比照着做,就会容易一些了。
[解决办法]
我估计是数据编码格式的问题~~

楼主你可以先使用同一种语言完成两个过程,(确认过程无误)
然后用另外的一个语言修正某一个过程就可以了 ~

另外,关于 padding,
看看这个吧:man.chinaunix.net/develop/rfc/RFC2313.txt

热点排行