不對稱加密聽起來是不是很吸引人?是不是想用流行的RSA算法加密?先看看你的jdk版本吧,如果是jdk1.4,很可惜,你的jdk并不支持這種算法,需要使用Bouncy Castle Crypto Package第三方包,這個包可以在http://www.下載,我下載的是bcprov-jdk14-137.jar。 下載后,還需要安裝,步驟如下: 1.將java目錄下的jre\lib\security子目錄的java.security文件中增加 security.provider.<n>=org.bouncycastle.jce.provider.BouncyCastleProvider,其中<n>根據(jù)前面幾個提供者的序號遞增,例如在j2sdk1.4.2_13中為6。 2.將bcprov-jdk14-137.jar復制到j(luò)ava目錄下jre\lib\ext目錄。(如果不行,就復制到j(luò)ava目錄下lib\ext目錄,如果再不行,就將其再復制到ext的上級目錄下。我是放在jre\lib\ext目錄下就可以用了。) 另外需要提醒的是,由于效率較低,這種算法可加密的明文長度很短,具體長度取取于你所生成的密鑰長度。如果你的密鑰長度為1024Bit(相當于 1024/8=128Byte),那么可加密的明文長度就是128-11=117Byte,即以字節(jié)為單位,用密鑰長度減去11所得的字節(jié)數(shù),如果這個長度不夠,你就要增加密鑰長度,但那意味著更低的效率,而且密鑰長度限制在512~2048之間。 |
|