本文共 1411 字,大约阅读时间需要 4 分钟。
import com.sun.org.apache.xml.internal.security.utils.Base64;import org.apache.commons.io.FileUtils;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.io.File;import java.nio.charset.Charset;import java.security.*;import java.security.spec.PKCS8EncodedKeySpec;public class RSAdemo { public static void main(String[] args) throws Exception { String input = "硅谷"; // 加密算法 String algorithm = "RSA"; // 创建密钥对生成器对象 KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(algorithm); // 生成密钥对 KeyPair keyPair = keyPairGenerator.generateKeyPair(); // 生成私钥 PrivateKey privateKey = keyPair.getPrivate(); // 生成公钥 PublicKey publicKey = keyPair.getPublic(); // 获取私钥字节数组 byte[] privateKeyEncoded = privateKey.getEncoded(); // 获取公钥字节数组 byte[] publicKeyEncoded = publicKey.getEncoded(); // 对公私钥进行base64编码 String privateKeyString = Base64.encode(privateKeyEncoded); String publicKeyString = Base64.encode(publicKeyEncoded); // 创建加密对象 // 参数表示加密算法 Cipher cipher = Cipher.getInstance(algorithm); // 初始化加密 // 第一个参数:加密的模式 // 第二个参数:使用私钥进行加密 cipher.init(Cipher.ENCRYPT_MODE,privateKey); // 私钥加密 byte[] bytes = cipher.doFinal(input.getBytes()); System.out.println(Base64.encode(bytes)); }}
转载地址:http://czfzb.baihongyu.com/