Java 将公钥和私钥转换为字符串,然后再转换回来

标签 java sqlite rsa

我有一个私有(private)和一个公共(public) RSA 2048 位 key ,我需要将它们转换为字符串以便将它们保存在 SQLite DB 中,但我还需要一种在读取数据时将它们转换回私有(private)/公共(public) key 的方法db,我如何用 Java 做到这一点?

抱歉我的英语不好。

最佳答案

您可以使用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

关于Java 将公钥和私钥转换为字符串,然后再转换回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43562900/

相关文章:

java - 如何将cucumber与Python语言集成

ruby-on-rails - Rails - "heroku db:push"命令失败

objective-c - Xcode需要Openssl RSA解密功能

ios - 使用来自服务器的字符串公钥进行 RSA 加密

c++ - 在RSA蒙哥马利乘法的不同MWR2MM算法中,Bizzare的错误结果相同

java - 从文件中读取文本行

java - Android onBackPressed 适用于所有 Activity

java - 为什么 if 条件在 AyncTasks 的 onPostExecute() 中完全无用?

ios - 对格式感到困惑 - sqlite

ios - 想给Sqlite数据库添加上标数据