如何使用gwt在java中使用加密和解密来保存密码

时间:2015-09-15 13:58:33

标签: java gwt encryption

您好我正在使用GWT从事java项目。我想使用加密和解密来保存密码。这是在java中使用加密和解密来保存密码的最佳方法吗?我应该使用任何API吗?有什么帮助吗?

先谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用GWT-Crypto

用法非常简单,并在以下代码中显示:

    //this will be used for encrypting and decrypting strings
    private TripleDesCipher encryptor;  

    ...

    //creating key for encryptor
    TripleDesKeyGenerator generator = new TripleDesKeyGenerator();
    byte[] key = generator.decodeKey("04578a8f0be3a7109d9e5e86839e3bc41654927034df92ec"); //you can pass your own string here

    //initializing encryptor with generated key
    encryptor = new TripleDesCipher();
    encryptor.setKey(key);

    ...

使用加密器的示例函数可能如下所示:

    private String encryptString(String string)
    {
        try 
        {
            string = encryptor.encrypt( string );
        } 
        catch (DataLengthException e1) 
        {
            e1.printStackTrace();
        } 
        catch (IllegalStateException e1) 
        {
            e1.printStackTrace();
        } 
        catch (InvalidCipherTextException e1) 
        {
            e1.printStackTrace();
        }

        return string;
    }

    private String decryptString(String string)
    {
        try 
        {
            string = encryptor.decrypt(string);
        } 
        catch (DataLengthException e) 
        {
            e.printStackTrace();
        } catch (IllegalStateException e) 
        {
            e.printStackTrace();
        } catch (InvalidCipherTextException e)
        {
            e.printStackTrace();
        }

        return string;
    }