gpt4 book ai didi

java - 如何使用 scrypt 用密码加密私钥

转载 作者:行者123 更新时间:2023-11-30 05:24:48 29 4
gpt4 key购买 nike

如何使用 scrypt 加密在 java 中使用 KeyPairGenerator 创建的私钥?我想使用密码来保护私钥,这样即使他拥有私钥和数据,也无法使用私钥来解密我加密的数据。(如果您不建议使用其他 API,我会使用 BouncyCaSTLe API)

谢谢

最佳答案

要使用KeyPairGenerator,您可以使用PBEKey和参数对密码支持的私钥进行加密

KeyPairGenerator generator = KeyPairGenerator.getInstance();

int count = 5;

keyPairGenerator.initialize();
KeyPair kPair = generator.genKeyPair();

byte[] privateKey = kPair.getPrivate().getEncoded();

String stringPb = "PBEWithSHA1AndDESede";
String password = "your_own_password";

SecureRandom rndm = new SecureRandom();

PBEParameterSpec paramSpec = new PBEParameterSpec(salt, count);
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());

SecretKeyFactory factory = SecretKeyFactory.getInstance();
SecretKey pbeKey = factory.generateSecret(keySpec);

Cipher cipher = Cipher.getInstance(stringPb);

cipher.init(ENCRYPT_MODE, pbeKey, paramSpec);

byte[] text = cipher.doFinal();

AlgorithmParameters parametres = AlgorithmParameters.getInstance();
parametres.init(paramSpec);
EncryptedPrivateKeyInfo encinfo = new EncryptedPrivateKeyInfo(parametres, text);

关于java - 如何使用 scrypt 用密码加密私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58872465/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com