2013-10-04 63 views
3

我正在使用Grails插件:crypto:2.0,並且我在加密解密PGP中的消息時遇到問題。grails OpenPGP解密不起作用

這是我的控制器代碼:

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。但是,當我使用裝甲加密消息並解密時,它總是返回空值。

有沒有人遇到過這個問題?

回答

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)