之前给手机IMEI加密的时候,根据服务器证书的公钥用的Java BigInteger进行加密,可是传到php那里总是解不出来,造成的原因可能是加密算法不同,后来换了一种方式就可以了,废话不多说上代码。
String msg = "123456789";
File file = new File("server.crt");
FileInputStream f = new FileInputStream(file);
CertificateFactory cf=CertificateFactory.getInstance("X509");
java.security.cert.Certificate c1=cf.generateCertificate(f);
PublicKey publicKey = c1.getPublicKey();
Cipher pkCipher = Cipher.getInstance("RSA/ECB/PKCS1PADDING");
pkCipher.init(Cipher.ENCRYPT_MODE, publicKey);
System.out.println(Base64.encodeBase64String(pkCipher.doFinal(msg.getBytes())));