`
peterwanghao
  • 浏览: 128558 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

密码加盐-Salting password

 
阅读更多

今天看到一个新鲜词:Salting password,加盐的密码。感觉很是纳闷,这是什么意思呢?上网查了下原来是对密码进行一些混淆增加破解的难度。

一般对密码都不会是明文存储,而是对密码进行MD5处理,增强反向解密难度。但这样还是能可以找出破绽。

如果用户可以查看数据库,那么他可以观察到自己的密码和别人的密码加密后的结果都是一样,那么,就会知道别人用的和自己就是同一个密码。

对于这个问题其实只要稍微混淆一下就能防范住了,这在加密术语中称为“加盐”。具体来说就是在原有材料(用户自定义密码)中加入其它成分(一般是用户自有且不变的因素),以此来增加系统复杂度。当这种盐和用户密码相结合后,再通过摘要处理,就能得到隐蔽性更强的摘要值。

详细内容请参考何杨的blog 对用户密码进行加盐处理


可为什么是加盐呢?我觉得用加胡椒面是不是更贴切。就是让心术不正的人遇到点麻烦。

分享到:
评论

相关推荐

    java生成md5密码加盐

    在数据库中,我们应存储加盐后的MD5密码,格式为`password$salt`,其中`$`是分隔符。在验证时,我们将用户输入的密码与存储的加盐MD5值进行比较。 总的来说,Java和SpringBoot结合加盐MD5提供了一种相对安全的密码...

    易语言MYSQL密码加密

    这通常涉及到哈希(Hashing)和加盐(Salting)等技术。哈希是一种不可逆的转换过程,将原始数据转化为固定长度的字符串,而加盐则是为了增加破解哈希的难度,通过在原始密码前或后添加随机数据,使得即使相同的密码...

    Java常用的对密码加密的方法(MD5,SHA)

    为了增强安全性,通常会添加一个随机的盐值(salt)并多次迭代哈希过程,这种方法称为加盐(salting)和哈希迭代(hashing with iterations),如bcrypt或scrypt算法。Java中可以使用`java.security.SecureRandom`...

    MD5加密(有盐+无盐).zip

    为了提高安全性,引入了“加盐”(Salting)的概念。 加盐是在密码哈希过程中增加一个随机值,这个随机值称为盐。盐与原始密码一起经过MD5算法计算,生成的哈希值包含盐的信息,这样即使攻击者获取到哈希值,也无法...

    简洁大方干净!完整的php+mysql实现的登录和用户注册源码(含加密安全,解压即用)

    且自动随机加盐(random salting),允许不同的用户注册时使用相同的密码。登录时使用password_verify()函数验证密码以及密码的哈希值。 4、用于创建自己的博客、论坛登录,或者用于DNSspoofing都是非常好的选择。

    密码管理:将密码以加密形式保存在数据库中以备将来使用

    2. **加盐(Salting)**:为了进一步增强哈希安全性,我们会在密码哈希前加上一个随机的盐值。盐值是每个用户独有的,这样即使两个用户有相同的密码,他们的哈希值也会不同。在Java中,可以使用`SecureRandom`类生成...

    MD5 SHA-512

    在实际应用中,为了进一步增强安全性,通常会结合加盐(Salting)技术。加盐是向原始密码中添加一个随机字符串,然后再进行哈希,这样即使两个用户有相同的密码,其哈希值也会因为加盐而不同,增加了破解的难度。 ...

    PHP实例开发源码-MD5在线加密工具 php版.zip

    在实际应用中,通常会结合加盐(Salting)和多次哈希来提高密码的安全性。例如,可以使用`password_hash()`函数,它是PHP推荐的密码存储方法,它自动包含了加盐和多次哈希的过程。 在压缩包中的文件`...

    java中使用MD5加密算法进行加密.pdf

    对于密码存储,现在更推荐使用如SHA-256或更安全的哈希算法,并配合加盐(Salting)和迭代过程(如bcrypt或scrypt),以增加破解的难度。尽管如此,对于一些低敏感度的应用,MD5仍然是一个简单且足够用的加密手段。

    c# md5 加密 vs2008源代码示例

    同时,为了增加破解难度,通常还会结合加盐(Salting)和多次迭代(如bcrypt)等技术。 在实际项目中,为了提高代码的可复用性和可维护性,可以将MD5加密过程封装成一个静态方法,例如: ```csharp public static ...

    密码API

    密码API通常包含一系列函数或方法,如哈希(Hashing)、加盐(Salting)、加密(Encryption)和解密(Decryption)。这些功能旨在确保密码的安全存储,防止未授权访问。哈希是将密码转换为固定长度的不可逆字符串的...

    密码

    在Java中,通常使用散列(Hashing)和加盐(Salting)技术来处理密码。散列函数如SHA-256或bcrypt可以将密码转换为不可逆的固定长度的字符串。加盐则是为了增加破解难度,即在原始密码前或后添加随机字符串,使得...

    C#版本口令加密BAT源码__0525.rar

    2. **加盐(Salting)**:为了防止彩虹表攻击(预先计算好的哈希值与口令对照表),通常会在口令哈希前添加一个随机的加盐值。C#中可以自定义生成盐值,然后将其与口令拼接后再进行哈希。 3. **迭代哈希(Hash ...

    一个在线登录系统的设计

    同时,系统需提供密码加密存储,通常使用哈希函数(如bcrypt或scrypt)和加盐(Salting)技术,即使数据库泄露,也不能直接获取原始密码。 3. 唯一标识符(Unique Identifier):每个用户需要有唯一的标识符,通常...

    validadordesenha:项目验证密码(挑战)

    加盐(Salting)是另一种增强安全性的方法,它是在哈希之前添加一个随机值,使得即使相同的密码经过处理后也会得到不同的结果。 8. **密码强度评估**:除了基本验证,还可以实现一个系统来评估密码的强度,根据其...

    用户登陆和操作用户数据

    7. **密码哈希与加盐(Password Hashing and Salting)**: 用户的密码不应明文存储,而是应该经过哈希和加盐处理。哈希函数如SHA-256或bcrypt可以将密码转化为不可逆的散列值,而加盐可以增加破解难度,防止彩虹表...

Global site tag (gtag.js) - Google Analytics