java SM9密钥转成String型
因为M9的密钥是一个数组矩阵,不能直接用来加解密,给对方也不方便,所以需要把密钥型转成String型来显示或者互换。话不多说,上干货
//获取公钥
MasterPublicKey masterEncryptPublicKey = encryptMasterKeyPair.getPublicKey();
String masterEncryptPublicKey_Str = StringUtil.byteToString(masterEncryptPublicKey.toByteArray());
System.out.println("公钥:" + masterEncryptPublicKey_Str);
//获取私钥
PrivateKey privateKey = kgc.genPrivateKey(encryptMasterKeyPair.getPrivateKey(), ENCRYPT_DECRYPT_ID, PrivateKeyType.KEY_ENCRYPT);
String privateKey_Str = StringUtil.byteToString(privateKey.toByteArray());
System.out.println("私钥:" + privateKey_Str);
public static String byteToString(byte[] bytes){
return Base64.getEncoder().encodeToString(bytes);
}
jdk用的是1.8