2017-04-22 381 views
-2

我有一个私有的和公共的RSA 2048bit密钥,我需要将它们转换为字符串以将它们保存在SQLite数据库中,但是我还需要一种将它们转换的方法回到私人/公共密钥,当我读取数据分贝,我怎么能在Java中做到这一点?Java将公钥和私钥转换为字符串,然后返回

对不起,我的英语不好。

+1

欢迎堆栈溢出!我们是一个问答网站,而不是一个打码人员的服务。请将您的问题缩小到针对本网站主题的特定编码问题。请参阅:[为什么“有人可以帮助我?”不是一个实际的问题?](http://meta.stackoverflow.com/q/284236)和[当我不确定我在找什么时问一个好问题?](https:// meta。 stackoverflow.com/questions/262527/how-to-ask-a-good-question-when-im-not-sure-what-im-looking-for) –

+0

使用base64编码和解码。 – 2017-04-22 18:18:52

回答

1

您可以使用Base64EncoderBase64Decoder

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

+0

我提前复制,然后我的帖子是在评论前2分钟写的。那么, – minus

+0

。即使如此,这仍然是一个几乎只有链接的答案。如果你改善它,我肯定会反对我的投票。 – GhostCat

+1

@GhostCat我讨厌人们是对的,而你是对的。 – minus