首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hashalgorithm和hashencoding

Hashalgorithm和hashencoding
EN

Stack Overflow用户
提问于 2016-07-12 13:03:08
回答 1查看 350关注 0票数 2

我使用的是Jboss中的login-module。它必须对用户输入的密码进行编码,并与db中的加密密码进行比较。

代码语言:javascript
复制
<module-option name="hashAlgorithm" value="MD5"/>
<module-option name="hashEncoding" value="base64"/>

要将密码存储在db中,请使用以下行

代码语言:javascript
复制
newUser.setPassword(DatatypeConverter.printBase64Binary(purePassword.getBytes("UTF-8")));

当我调试应用程序时,它会显示:

  • DB = MTIzNDU2Nzg=加密密码
  • 用户登录加密密码= JdVa0oOqQAr0ZMdtcTwHrQ==

问题

  1. 这是怎么回事?jboss何时使用base64算法和何时使用md5
  2. hashAlgorithmhashEncoding有什么区别?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-13 12:08:58

  1. 这是怎么回事?jboss何时使用base64算法和何时使用md5

MD5是哈希算法,Base64是输出字符编码。

字符编码定义了与字节或字节序列对应的字符。

MD5是一种加密哈希算法,它产生一个8位字节的16字节输出,而不是字符.并不是所有的8位字节都是可打印字符.

Base64接受一个字节数组并生成一个可打印的字符串。通常使用的是需要将字节数组编码为可打印字符串的数组。

  1. hashAlgorithm和hashEncoding有什么区别?

有些哈希函数允许指定哈希算法hashAlgorithm,如MD5、SHA1、SHA-256等,这些哈希算法用于散列输出编码hashEncoding,如十六进制或Base64。这允许一个函数调用在一个调用中使用所选的哈希算法对输入进行散列处理,并选择输出编码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38329718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档