我想在 Genexus 中自定义实现身份验证。有没有办法在不启用 Genexus Access Manager(GAM) 的情况下在组件中实现身份验证?
2 回答
0
我建议您根据 OWASP密码存储备忘单存储经过哈希处理且未加密的密码以确保安全
以下是如何使用 SHA512 进行散列的示例,但您可以从 CryptoHash 中的所有选项中进行选择:
Parm(in:&PassWord, out:&HashSHA512);
&CryptoHash.Algorithm = CryptoHashAlgorithm.SHA512
&Digerido = &PassWord.Trim() // you can add salt here
for &i = 1 to 10 //number of iterations in hashing
&Digerido = &CryptoHash.Compute(&Digerido)
endfor
&HashSHA512 = &Digerido.ToUpper()
所以基本上你使用这个过程来散列你的密码并将其存储在数据库中,当用户登录时,你使用过程来获取散列并将散列与存储在数据库中的散列进行比较。
于 2021-07-03T01:03:22.900 回答
0
当然,您可以自己管理并手动将加密密码保存在数据库中。
于 2019-07-17T14:50:43.523 回答