我试图在Griffon中加密密码,但我不知道该怎么做。通常我会用另一种语言使用md5,但格里芬呢?
以下是我的一些代码:
if (sql.firstRow("SELECT userID FROM tbluser WHERE userID = ${model.userID}") != null) {
// usually in SQL like this
user.executeUpdate("UPDATE tbluser SET username = ${model.username}, password = md5(${model.password}), level = ${model.level} WHERE userID = ${model.userID}")
edt {
int index = model.listUser.findIndexOf{it['userID'] == model.userID}
model.listUser[index] += [username: model.username, password: model.password, level: model.level] --> how to do md5 here?
}
} else {
user.add(userID: model.userID, username: model.username, password: model.password, level: model.level) --> and here?
edt { model.listUser << [userID: model.userID, username: model.username, password: model.password, level: model.level] }
}
我只是得到一个关于它的示例代码并且它有效。
这里是代码:
import java.security.MessageDigest
String generateMD5(String s) {
MessageDigest digest = MessageDigest.getInstance("MD5")
digest.update(s.bytes);
return new BigInteger(1, digest.digest()).toString(16).padLeft(32, '0')
}
对于我的案例:generateMD5(model.password)
答案 0 :(得分:1)
本身加密与Griffon无关,因为它只是字符/字节数组的转换。但是有一个bcrypt插件可以应用BCrypt算法http://artifacts.griffon-framework.org/plugin/bcrypt
有关BCrypt的更多信息,请访问http://codahale.com/how-to-safely-store-a-password/
答案 1 :(得分:0)
我对格里芬很新,但我认为这可以帮到你。 我希望我可以帮助你。