美文网首页
数据库中用户密码的存储方式-加盐

数据库中用户密码的存储方式-加盐

作者: JeasonZuo | 来源:发表于2019-03-04 16:25 被阅读0次

(Salt),在密码学中,是指在散列之前将散列内容(例如:密码)的任意固定位置插入特定的字符串。这个在散列中加入字符串的方式称为“加盐”。其作用是让加盐后的散列结果和没有加盐的结果不相同,在不同的应用情景中,这个处理可以增加额外的安全性。
在大部分情况,盐是不需要保密的。盐可以是随机产生的字符串,其插入的位置可以也是随意而定。如果这个散列结果在将来需要进行验证(例如:验证用户输入的密码),则需要将已使用的盐记录下来。
--摘自维基百科

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

数据库表设计

mysql> desc User;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| user_name | varchar(50) | NO   |     |         |       |
| slat     | char(50)     | NO   |     |         |       |
| password  | varchar(256)| NO   |     |         |       |
+----------+-------------+------+-----+---------+-------+

在用户注册或修改密码的过程中在随机生成固定长度的字符串salt,然后以自定义的方式拼接字符串,然都执行MD5或SHA散列加密方式,将salt和加密后的密码存入数据库即可

相关文章

  • 数据库中用户密码的存储方式-加盐

    盐(Salt),在密码学中,是指在散列之前将散列内容(例如:密码)的任意固定位置插入特定的字符串。这个在散列中加入...

  • PHP 用户密码加密函数password_hash

    传统的用户名和密码都采用加盐的方式存储加密信息,盐值也需要存储。 自PHP5.5.0之后,新增加了密码散列算法函数...

  • golang 用 crypto/bcrypt 存储密码的例子

    安全存储用户密码的原则是:如果网站数据泄露了,密码也不能被还原。以前常用简单的方式是通过md5 多层加密及加盐。比...

  • MD5加盐

    参考 浅谈MD5加密算法中的加盐值(SALT) 一种简单的给MD5加盐算法 md5密码加盐 对用户密码进行加盐处理

  • hw9 注意事项 2021-05-07

    银行不会明文存储密码,选择一种密码的加密方式,保证用户输出的密码以不同的方式保存在账户对象中,且能保证用户再次输入...

  • 更安全的密码存储与验证方案

    现在比较流行的密码存储是对密码明文做 HASH运算,把得到HASH值存储到数据库中。验证过程就是再次对用户发过来的...

  • 人人商城二开-ims_ewei_shop_merch_accou

    字段名功能iduniacidopenidmerchid商户IDusername用户名pwd用户密码salt密码加盐...

  • nodejs 关于密码加密

    加密分为 直接加密、加盐加密 加盐加密更安全,建议加盐 登录时为输入密码再次同盐值加密比对数据库内的加密密码即可判...

  • 登录安全

    App登录常见的安全点:1.密码的安全2.token值安全使用 密码存储 用户密码必须不能明文存储。如果数据库泄露...

  • Spring-Security-文档笔记之认证机制

    1. 用户名密码认证 用户名密码读取方式有三: 表单 Basic认证 Digest认证 存储机制: 内存存储 JD...

网友评论

      本文标题:数据库中用户密码的存储方式-加盐

      本文链接:https://www.haomeiwen.com/subject/qupiuqtx.html