㈠ Laravel 5.2 默认的密码加密,怎么加点盐
查看这部分的源代码可得,
// Laravel 的 bcrypt 就是
$hash = password_hash($value, PASSWORD_BCRYPT, ['cost' => 10]);
因为 password_hash 使用的是 crypt 算法, 因此参与计算 hash值的:
算法(就像身份证开头能知道省份一样, 由盐值的格式决定), cost(默认10) 和 盐值 是在$hash中可以直接看出来的!
所以说, Laravel 中bcrypt的盐值是PHP自动随机生成的字符, 虽然同一个密码每次计算的hash不一样.
但是通过 $hash 和 密码, 却可以验证密码的正确性!
具体来说, 比如这个
$hash = password_hash('password',PASSWORD_BCRYPT,['cost' => 10]);
echo $hash;
// 比如我这次算的是
// $hash = '$2y$10$';
那么我们从这个 crypt的hash值中可以看到,
因为以$2y$开头, 所以它的算法是 CRYPT_BLOWFISH .
同时 CRYPT_BLOWFISH 算法盐值格式规定是 :
以$2y$开头 + 一个两位cost参数 + $ + 22位随机字符("./0-9A-Za-z")
$hash(CRYPT_BLOWFISH是固定60位) = 盐值 + 31位单向加密后的值
㈡ 数据库里加密的密码是怎么实现的
一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1 sha256 md5等。
作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。即时你的数据库被拖库,得到的人,也无法知道用户密码。
为什么加盐
举例
在注册时,
假设你的密码是1234,一般服务器会加一个盐(随便一个乱打的字符串),和你的密码加在一起,1234和efnU*(@#H!JKNF得到1234efnU*(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到 ,于是数据库里你的密码就变为了
登入时,
你输入1234, 然后服务器用和注册相同的步骤进行加密,得到加密后的值,,将这个值与数据库的加密值比对,如果正确则登入。
㈢ Bitlocker安全性怎么样
Bitlocker安全性较好。目前来说不能破解。当然窃取密码之类的不能算是破解。bitlocker的安全性,那应该看程序里有没有已经公开的漏洞。
16^48=2^192长度。AES用的是256bit秘钥长度,等同于2^256组合。从这个角度来说,安全性被缩减到了2^192组合。
不过一般来说,安全意识较好的用户密码也就是12位~16位左右的长度,算上标点符号也就一百来种字符,算顶了不过110^16种组合,依然远低于恢复密钥的长度。好在主密钥是加盐的,应该可以显着提升运算复杂程度。
最后整个加密的安全性,完全是看自己的密码管理水平,与微软到底留没留后门了。技术上可以说是万无一失的。
BitLocker加密过程:
Windows操作系统方面,我们以系统自带的BitLocker功能为例,本次我们以U盘为例,我们将一个放有文件的U盘插入电脑中,然后再资源管理器中直接右键就能看到“BitLocker”选项。
点开之后,就会启动BitLocker程序,同时在此过程中不能动用硬盘数据,如果是U盘、移动硬盘等外接设备,则此过程中千万不能拔出。
开启之后我们就能看到加密方式,BitLocker提供两种加密方式,一种是使用密码进行加密或者解密,另一种是使用智能卡进行加密解密。“智能卡”是一张含有计算机芯片的小型卡片,通常由大型公司的信息技术部门颁发,一般个人很少使用。
在这个过程中,我们在此选择“保存到文件”,同时为了进一步保证密钥安全,我们也选择“保存到Microsoft账户中”,保存的文件我们稍后详解。
同时,还支持打印纸质密钥可选,非常方便。需要提起注意的是,Windows 7操作系统无法支持备份到Microsoft账户中,只有Windows 8或更高级版本的系统才可以使用此功能。
之后就需要我们选择加密驱动器的空间大小,BitLocker可以将整个硬盘空间进行加密,也可以仅将已使用的硬盘空间进行加密。
㈣ Android加密之MD5加密有什么意义
MD5 加密, 能保证数据的唯一性,加密不可逆,目前网上所说的MD5 加密破解, 利用的就是MD5 加密的唯一性, 其实就是利用数据进行一次或数次加密 生成的结果进行匹配的 并不是所谓的破解, 因为MD5加密不可逆。 银行账户密码虽然只有6位,但进行N次加密之后(过程可能继续加盐)导致密码基本破解不了。
㈤ 为什么登录是要用MD5加密用户输入的密码
MD5 是一种不可逆算法
密码被加密后被破解的可能性很小
(许多网站上说可以破解,其实是将常用的MD5值放到数据库中用来查询的....说白了,那不是破解,而是查询,反查询...~~只能"破解"简单常用的 我刚刚生成的 谁帮我破一下?)
如果密码用MD5加密了以后,下次登录的时候只要将他登录是输入的值再加密,然后与数据库中的标准答案比较就可以判定成功与否了
㈥ 数据库编程中密码盐起什么作用
混淆用的,比如你写到数据库里面是MD5加密的,但是你用网上的解密工具一查就知道他的明文是什么。而如果你加了盐,也就是你的密码+盐,然后加密,那么加密出来的那串,别人就不知道他明文是什么了
㈦ 为什么 chrome 登录页面密码 传输到 后台 变成加密
安全性考虑,如果明文传输,很容易被网络攻击者抓包破解。
不仅在传输时需要使用加密方式,存储时也需要使用加密方式,否则遇到拖库,则所有账号、密码都被泄露,是很严重的事故。
存储密码时,如果使用md5,则需要考虑加盐,以大幅提高从md5密文反推出明文的难度(例如使用彩虹表方式)
㈧ 加盐加密的介绍
加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联。
㈨ 数据库里的密码为什么要加密
那数据库给你了.你知道别人数据库用户的帐号,你能登陆别人的帐号吗?不能哈.别人密码都是经过程序算法加密的.你破解不了.有数据库又咋滴.
㈩ 十大常见密码加密方式
一、密钥散列
采用MD5或者SHA1等散列算法,对明文进行加密。严格来说,MD5不算一种加密算法,而是一种摘要算法。无论多长的输入,MD5都会输出一个128位(16字节)的散列值。而SHA1也是流行的消息摘要算法,它可以生成一个被称为消息摘要的160位(20字节)散列值。MD5相对SHA1来说,安全性较低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、对称加密
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非对称加密
非对称加密算法是一种密钥的保密方法,它需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。非对称加密算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
四、数字签名
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。
五、直接明文保存
早期很多这样的做法,比如用户设置的密码是“123”,直接就将“123”保存到数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
六、使用MD5、SHA1等单向HASH算法保护密码
使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。
七、特殊的单向HASH算法
由于单向HASH算法在保护密码方面不再安全,于是有些公司在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质上的提升。
八、PBKDF2
该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。
九、BCrypt
BCrypt 在1999年就产生了,并且在对抗 GPU/ASIC 方面要优于 PBKDF2,但是我还是不建议你在新系统中使用它,因为它在离线破解的威胁模型分析中表现并不突出。
十、SCrypt
SCrypt 在如今是一个更好的选择:比 BCrypt设计得更好(尤其是关于内存方面)并且已经在该领域工作了 10 年。另一方面,它也被用于许多加密货币,并且我们有一些硬件(包括 FPGA 和 ASIC)能实现它。 尽管它们专门用于采矿,也可以将其重新用于破解。