gpt4 book ai didi

java - 有没有办法使用私钥从签名数据中获取纯文本?

转载 作者:行者123 更新时间:2023-12-04 22:38:34 25 4
gpt4 key购买 nike

纯文本使用 java.security.Signature 签名.下面是用于签署纯文本的代码

    public String getSignature(String plainText) throws Exception
{
KeyStore keyStore = loadKeyStore(); // A local method to read the keystore file from file system.
PrivateKey privateKey = (PrivateKey) keyStore.getKey(KEY_ALIAS_IN_KEYSTORE, KEYSTORE_PASSWORD.toCharArray());

Signature privateSignature = Signature.getInstance(SIGNATUREALGO);
privateSignature.initSign(privateKey);
privateSignature.update(plainText.getBytes("UTF-8"));

byte[] signature = privateSignature.sign();

return String.valueOf(signature);

// KEY_ALIAS_IN_KEYSTORE, KEYSTORE_PASSWORD and SIGNATUREALGO are all constant Strings
}
注1:我在网上找到了一种使用公钥验证签名的方法 Java Code Examples for java.security.Signature#verify() .但这不是我需要的。
注2:我还找到了这里提到的加密和解密方法 RSA Signing and Encryption in Java .但我手头的用例是从签名数据中获取原始纯文本。那可能吗?

最佳答案

不,您不能仅从签名中检索原始内容。
无论您有权访问什么 key ,仅签名都不包含足够的信息来恢复原始明文。
签名的基本思想是将其与明文一起发送。这意味着明文将是可见的,但签名可用于验证消息是否由声称这样做的人编写(或至少签名)并且从那时起没有被篡改。
签名与加密不同。两者经常使用相同或相关的技术,并且都属于密码学。

关于java - 有没有办法使用私钥从签名数据中获取纯文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64102196/

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