grails在mysql数据库中加密密码

时间:2014-12-22 22:13:29

标签: mysql grails encryption

我正在尝试加密存储在我的mysql数据库中的密码,与数据库的连接工作正常,但我不明白如何加密密码我尝试了一些我在教程上看到但它在这里不起作用是我的域类

我正在使用2.4.4版本的grails


package jweb

class Clients {

    transient springSecurityService

    int id
    String name
    String password

    static constraints = {
        id()
        name()
        password()
    }
    def beforeInsert(){
        encodePassword()
    }
    def encodePassword(){
        password = springSecurityService.encodePassword(password,null)
    }
}

修改

我找到了一种方法,但我认为你是对的Burt,我当然应该使用sprinSecurity但我是Grails的初学者而且我没有成功使它工作所以此时我有这个< / p>

package jweb

import java.security.MessageDigest

class Clients {

    int id
    String name
    String password
    String cart_id
    boolean admin
    static constraints = {
        id()
        name()
        password()
        cart_id nullable:true
        admin()
    }
    def beforeInsert(){
        encodePassword()
    }
    def beforeUpdate(){
        encodePassword()
    }
    def encodePassword(){
       MessageDigest md5Digest;
       byte[] digest;

       md5Digest = MessageDigest.getInstance("SHA-512");
       md5Digest.reset();
       md5Digest.update(password.getBytes());
       digest = md5Digest.digest();
       password = new BigInteger(1,digest).toString(16)
    }
}

0 个答案:

没有答案