Password salt

1、实现原理
加盐的实现过程通常是在需要散列的字段的特定位置增加特定的字符,打乱原始的字串,使其生成的散列结果产生变化。比如,用户使用了一个密码:
x7faqgjw

经过MD5散列后,可以得出结果:
455e0e5c2bc109deae749e7ce0cdd397

但是由于用户密码位数不足,短密码的散列结果很容易被彩虹表破解,因此,在用户的密码末尾添加特定字串(绿色字体为加盐的字段):
x7faqgjwabcdefghijklmnopqrstuvwxyz

因此,加盐后的密码位数更长了,散列的结果也发生了变化:
4a1690d5eb6c126ef68606dda68c2f79

以上就是加盐过程的简单描述,在实际使用过程中,还需要通过特定位数插入、倒序或多种方法对原始密码进行固定的加盐处理,使得散列的结果更加不容易被破解或轻易得到原始密码,比如(加为加盐字串):
x7a
fabqgcjw

2、代码样本
PHP
//这是一个简单的、在输入内容之後加入“WIKIPEDIA“并进行散列的PHP代码。
<?php
function hash($a) {
$salt="WIKIPEDIA"; //定义一个加盐字段(WIKIPEDIA),一旦设定并使用,将不可更动。
$b=$a.$salt; //把密码和加盐字段连接。
$b=md5($b); //执行MD5散列。
return $b; //返回散列。
}
?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,641评论 0 6
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 6,823评论 3 64
  • 不知道湾里的这口堰塘修葺于何年何月与何时,只知道它比我要大很多,太多太多。 塘里面沉载着岁月的沙砾,任凭多大的雨水...
    東方木阅读 607评论 1 2
  • 不知道掉哪里去了…
    张毓巧_阅读 95评论 0 0
  • 休假一天,见了老友,私了闺蜜。她们淡然的外表和平静的言语中,都有了些不同于往日的疲惫和无奈,少了一份稚嫩也多了一份...
    崔崔小姐阅读 180评论 2 2