小编Spe*_*lez的帖子

如何创建RSA密钥对以便将其存储在数据库中?

我正在尝试实现变异加密算法(理论上由我开发)并作为需求的一部分,我需要生成一个RSA密钥对并将其存储在数据库中,以便以后作为加密过程的一部分进行检索(仅用于加密会话密钥,以便可以使用加密的消息安全地发送它.

我尝试生成一个RSA密钥对似乎工作,但它一遍又一遍地生成相同的值,而不是每次运行代码时都给出新的对.我做错了什么?如果这些值依赖于机器本身(从而显示相同的值),还有一种方法可以将密钥对生成链接到所提供的电子邮件地址,这样每次输入新的电子邮件地址时,都会输出不同的RSA密钥对?

以下代码是我尝试生成密钥对:

import java.security.*;
import java.security.*;
/**
 * @author Speedy gonzales
 */
public class test {

    public static void main(String[] args) throws NoSuchAlgorithmException,        NoSuchProviderException {
        KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
        keyGen.initialize(1024);

        byte[] publicKey = keyGen.genKeyPair().getPublic().getEncoded();
        StringBuffer retString1 = new StringBuffer();
        retString1.append("[");

        for (int puk = 0; puk < publicKey.length; ++puk) {
            retString1.append(publicKey[puk]);
           // retString1.append(", ");
        }
        retString1 = retString1.delete(retString1.length()-2,retString1.length());
        retString1.append("]");
        System.out.println(retString1);

          byte[] privateKey = keyGen.genKeyPair().getPrivate().getEncoded();
        StringBuffer retString2 = new StringBuffer();
        retString2.append("[");

        for (int pri = 0; pri < privateKey.length; ++pri) …
Run Code Online (Sandbox Code Playgroud)

java rsa

4
推荐指数
1
解决办法
4467
查看次数

标签 统计

java ×1

rsa ×1