Java 公开密钥加密的协助

Java 公开密钥加密的协助,java,string,binary,type-conversion,public-key-encryption,Java,String,Binary,Type Conversion,Public Key Encryption,我正在尝试使用公钥加密技术使我的服务器更加安全。我不是在寻找关于这是如何工作的例子,我理解它。我需要帮助加密我发送的字符串 所以,目前,我只是通过获取当前的nano时间来生成一个公钥/私钥字符串,并将其转换为十六进制字符串,20次它产生如下输出: 8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14

我正在尝试使用公钥加密技术使我的服务器更加安全。我不是在寻找关于这是如何工作的例子,我理解它。我需要帮助加密我发送的字符串

所以,目前,我只是通过获取当前的nano时间来生成一个公钥/私钥字符串,并将其转换为十六进制字符串,20次

它产生如下输出:

8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df8ebe14df
这很好。
但是我如何用这个密钥加密我的消息,说“嗨”?我试着把它们都转换成二进制,然后把它们相乘,但是我不能取消转换,因为要做到这一点,二进制数中必须有空格,但是要把它们相乘,就没有了。有人能帮我吗

提前谢谢


另外,如果你需要更多信息,请告诉我

这里不仅仅是格式化或处理二进制或十六进制数字的问题。您没有按照建议的方式创建公钥/私钥,因为它没有公钥/私钥通常具有的必要加密属性。此外,使用nano s中的当前时间几乎不值得用作任何类型的加密密钥。如果您想在Java中实现这一点,有一些库可以为您实现公钥加密,比如BouncyCastle()。使用它可以很容易地在应用程序中使用和实现一定数量的加密安全性。

看看这个示例:


不要试图发明自己的加密算法,我知道这听起来很有趣,但也不是很安全。尝试使用已经实现的算法和协议。我建议你看看这个链接。如果你只是为了好玩而这样做,那就继续吧,如果是为了客户或其他人(至少是你以外的人)使用的东西,那就坚持使用已知的协议。

好吧。。。。因此,为了论证,我被迫做出自己的版本。我需要更改什么?据我所知,使用单个密钥,无论密钥的好坏,都无法实现公钥加密,无论它是RSA、ECC还是其他什么。您需要以某种方式将两个数字相互关联,以便通过应用另一个数字可以反转其中一个数字的操作(无论做了什么)。根据您发布的内容,您可以实现(弱)形式的对称密钥加密。如果您真的想编写自己的公钥密码,请查看RSA算法的工作原理并加以实现。不过,您不会发现当前时间有用。