【发布时间】:2012-01-16 08:29:39
【问题描述】:
我需要先使用 SHA-1 摘要算法对字符串进行数字签名,然后再应用 RSA 算法,使用 PrivateKey 对其进行签名。我已经将 PrivateKey 作为 base64 中的数据类型 char(250) 存储在我的数据库中。我的问题是我不知道如何将其转换为用于登录的 PrivateKey:
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, privateKey);
byte[] cipherText = cipher.doFinal(digest);
Digest 是一个字节数组,我对其应用了 SHA-1 摘要算法:
MessageDigest md = MessageDigest.getInstance("SHA-1");
byte [] ba = cadena.getBytes();
byte [] digest = md.digest(ba);
这是我想到的解决方案,但如果有人有更好的解决方案,我将不胜感激。
【问题讨论】:
标签: java rsa digital-signature digest sha1