我正在尝试加密存储在我的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)
}
}