2017-04-22 85 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