package com.cattong.commons; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; import org.junit.Test; import com.cattong.commons.util.Base64; import com.cattong.commons.util.RsaUtil; public class RsaUtilTest { @Test public void myTest() throws NoSuchAlgorithmException { KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); KeyPair keyPair = keyPairGenerator.generateKeyPair(); PrivateKey privateKey = keyPair.getPrivate(); byte[] privateKeyBytes = privateKey.getEncoded(); String privateKeyStr = new String(Base64.encodeBase64(privateKeyBytes)); System.out.println("private key:" + privateKeyStr); PublicKey publicKey = keyPair.getPublic(); byte[] publicKeyBytes = publicKey.getEncoded(); String publicKeyStr = new String(Base64.encodeBase64(publicKeyBytes)); System.out.println("public key:" + publicKeyStr); System.out.println("**************************"); String plain = "我测试"; String cipherText = RsaUtil.encrypt(plain, publicKey); System.out.println(cipherText); String dePlain = RsaUtil.decrypt(cipherText, privateKey); System.out.println(dePlain); System.out.println("**************************"); String encrypted = RsaUtil.encryptWithPrivateKey("我靠我靠我靠", privateKeyStr.getBytes()); System.out.println(encrypted); String decrypted = RsaUtil.decryptWithPublicKey(encrypted, publicKeyStr.getBytes()); System.out.println(decrypted); System.out.println("**************************"); String encrypted2 = RsaUtil.encryptWithPublicKey("我靠我靠我靠", publicKeyStr.getBytes()); System.out.println(encrypted2); String decrypted2 = RsaUtil.decryptWithPrivateKey(encrypted2, privateKeyStr.getBytes()); System.out.println(decrypted2); } }