我正在使用Grails插件:crypto:2.0,我在加密解密PGP中的消息方面遇到了问题。
这是我的控制器代码:
def index3 () {
def pgpK = PGP.generateKeyPair()
String encodedPublic = pgpK.encodedPublicKey
String encodedPrivate = pgpK.encodedPrivateKey
PGP pgp = new PGP (encodedPublic, encodedPrivate)
String message = "Hello World"
String encodeStr = pgp.encryptArmored(message)
println(encodeStr)
String decryptStr = pgp.decrypt(encodeStr.getBytes()).toString()
println(decryptStr)
}
执行时,它会将加密消息显示为装甲PGP。但是,当我使用装甲加密消息并解密时,它总是返回null。
有没有人遇到过这个问题?
答案 0 :(得分:0)
def pgpK = PGP.generateKeyPair()
String encodedPublic = pgpK.encodedPublicKey
String encodedPrivate = pgpK.encodedPrivateKey
PGP pgp = new PGP (encodedPublic, encodedPrivate)
String message = "Hello World"
String encodeStr = pgp.encryptArmored(message)
println(encodeStr)
String decryptStr = new String(pgp.decrypt(PGPUtil.getDecoderStream(new ByteArrayInputStream(encodeStr.getBytes())).getBytes()))
println(decryptStr)