grails OpenPGP解密不起作用

时间:2013-10-04 06:21:16

标签: grails encryption openpgp

我正在使用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。

有没有人遇到过这个问题?

1 个答案:

答案 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)