我正在使用Grails插件:crypto:2.0,在加密解密PGP中的消息时遇到问题。

这是我的 Controller 代码:

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。

有没有人遇到这个问题?

最佳答案

    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)

关于grails - Grails OpenPGP解密不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19174624/

10-13 05:26