我有一个私有和公共RSA 2048bit密钥,我需要将它们转换为String以便将它们保存在SQLite数据库中,但我还需要一种方法,当我读取数据时将它们转换回私有/公钥db,我怎么能用Java做到这一点?
抱歉我的英语不好。
答案 0 :(得分:2)
您可以使用Base64Encoder和Base64Decoder
当您需要将二进制数据序列化为String时,Base64编码/解码非常有用,因为它会生成一个好的字符串,它只是ascii,或多或少没有特殊字符。
// You can turn your bytes into a string using encoder.
String keyAsString = Base64.getEncoder().encodeToString(key);
// ....
///
// When you need your bytes back you call the decoder on the string.
byte[] keyBytes = Base64.getDecoder().decode(keyAsString);
在低于1.8的java版本上,您可以使用Apache Commons Codec