crypt算法,设置密码时采用什么的方式比较安全?
用户密码加密方式
用户密码保存到数据库时,常见的加密方式有哪些?以下几种方式是常见的密码保存方式:
1、明文保存
比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
2、对称加密算法来保存
比如3DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的,当然前提条件是需要获取到密钥。不过既然大量的用户信息已经泄露了,密钥很可能也会泄露,当然可以将一般数据和密钥分开存储、分开管理,但要完全保护好密钥也是一件非常复杂的事情,所以这种方式并不是很好的方式。
3、MD5、SHA1等单向HASH算法
使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。
其实之前公司也是采用的这种MD5加密方式。
4、PBKDF2算法
该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。
在使用PBKDF2算法时,HASH一般会选用sha1或者sha256,随机盐的长度一般不能少于8字节,HASH次数至少也要1000次,这样安全性才足够高。一次密码验证过程进行1000次HASH运算,对服务器来说可能只需要1ms,但对于破解者来说计算成本增加了1000倍,而至少8字节随机盐,更是把建表难度提升了N个数量级,使得大批量的破解密码几乎不可行,该算法也是美国国家标准与技术研究院推荐使用的算法。
5、bcrypt、scrypt等算法
这两种算法也可以有效抵御彩虹表,使用这两种算法时也需要指定相应的参数,使破解难度增加。
在密码学中,scrypt(念作“ess crypt”)是Colin Percival于2009年所发明的金钥推衍函数,当初设计用在他所创立的Tarsnap服务上。设计时考虑到大规模的客制硬件攻击而刻意设计需要大量内存运算。
Scrypt不仅计算所需时间长,而且占用的内存也多,使得并行计算多个摘要异常困难,因此利 用rainbow table进行暴力攻击更加困难。Scrypt 没有在生产环境中大规模应用,并且缺乏仔细的审察和广泛的函数库支持。但是,Scrypt 在算法层面只要没有破绽,它的安全性应该高于PBKDF2和bcrypt。
怎样加密电脑硬盘文件?
以下是几种常用的加密电脑硬盘文件的方法:
1. 使用系统自带加密工具:对于Windows操作系统,可使用系统自带的加密工具Bitlocker进行硬盘加密。Bitlocker可以加密指定的硬盘分区,并设置密码等安全机制,保障文件和数据安全。
2. 使用第三方加密软件:市面上有很多第三方加密软件,比较知名的有 TrueCrypt、Veracrypt、CipherShed等。这些软件提供专业化、高度定制化的加密算法和各种安全保障机制,能够有效防止文件遭到黑客攻击和锁定威胁。相对于Windows自带的硬盘加密工具,这些工具的加密算法更加安全,可靠性更高。
3. 使用压缩工具加密:WinRAR、WinZip等文件压缩工具也提供了加密附加功能,可以将加密后的文件通过这些工具压缩并修改为加密文件名,提高文件安全等级。
需要注意的是,无论是使用哪一种加密工具,都需要密切注意密码和密钥的安全性。同时,电脑用户应当定期备份硬盘数据,以便在意外硬盘崩溃或计算机病毒入侵时,及时恢复数据。
怎么防止别人暴力破解密码?
不要使用MD5,SHA1,SHA256 等加盐值保存密码,不安全.使用bcrypt算法
用户的登录密码,是很重要的一个安全环节。 如果明文保存在数据库,一旦黑客入侵或是内部员工盗窃,用户密码就会泄漏。 国内外大网站都发生过因黑客或是内部员工导致用户数据的泄漏问题,用户密码一旦泄漏对于电商网站或是支付网站的影响是难于估量的。
为了保护用户密码,早期人们使用MD5算法把密码加密后保存,通常计算MD5值时会加一个”盐值“(即一个固定的密串),这个盐值可能是共用的,也可能是一个用户一个盐值。
MD5(密码+盐值),这样形式的密码储存方案在早期基本上是密码存储的一个通行标准,国内多数网站(包括大型电商和支付网站)早期都采用的是这个办法,如果没有更新的话,现在很多网站依旧是这个方案。
这样的方案什么不对? 1,对于黑客入侵或是内部员工,能拿到用户数据的人,很容易就拿到盐值 2,虽然黑客不能反解密码,密码通常有一定的规则,诸如大小写数字六位数以上等,黑客可通过排列组合一个一个的试,暴力破解,因为MD5值的计算速度很快,对于六位数密码,很容易攻克。 注意:这个暴力破解是离线运行的,在线的暴力破解很容易阻挡。 被攻击的网站没有感觉,如果用比特币挖矿的矿机,这样的破解轻而易举,没挑战。
你会说,MD5不行,SHA1也被谷歌破解了,SHA256 密码加盐值这样可靠了吧? SHA256 密码加盐值也不安全。 因为,MD5,SHA1,SHA256就不是用来保存密码用的, 是用来校验数据完整性用的,三个算法的计算速度都很快,试想一下,校验一个4G的ISO镜像文件,必须要有高效的计算速度。
因为算法效率高,速度快,也就降低了暴力破解的难度。
正确的做法是使用bcrypt算法,bcrypt算法的优点是计算速度慢,没错计算速度慢, 还可以通过参数调节速度,要多慢有多慢。
普通的电脑每秒可运行数万次SHA256计算,bcypt算法通过参数设置可以调整为计算一次耗时1秒。 这样大幅提高了暴力破解的门槛,增强了安全性。
这里有个比特币矿机配置,供参考, 以便提高安全意识: 型号:HashFast Sierra Batch 2 价格:7080美元 功率: 780瓦 性能: 1200 GH/s (每秒可运行1.2万亿次SHA256计算)
cncrypt真的安全吗?
首先需要了解什么是cncrypt。Cncrypt是一种对称加密算法(也称为“共享密钥加密”),这意味着加密和解密使用相同的密钥。在使用cncrypt加密数据之前,必须先使用密钥对其进行加密,之后只有持有相同的密钥才能正确地解密数据。从理论上说,cncrypt算法是比较安全的,因为它使用了比较高级的加密方式,包括AES(Advanced Encryption Standard)和SHA-256(比较安全哈希算法)。这些加密算法被广泛使用,并已被证明是比较安全的。然而,任何加密算法都不是绝对比较安全的。攻击者可以使用暴力破解、字典攻击、中间人攻击等方式来破解加密信息。因此,我们可以采取以下措施来提高加密比较安全性:1. 使用足够复杂、随机的密钥。攻击者可以使用计算机程序来尝试所有可能的密钥,如果密钥太简单,则破解速度会大大加快。2. 使用比较安全的传输方式:如果加密信息在传输过程中被窃取,则加密措施就失去了意义。因此,我们必须通过比较安全的通信渠道来传输加密数据,如HTTPS、SSH等。3. 及时更新密钥:当密钥被破解或泄露时,及时更换其它的密钥是非常重要的。总的来说,虽然cncrypt算法在理论上是比较安全的,但它的比较安全性也取决于密钥的复杂程度和使用方式。因此,在实际应用中,我们应该注意加密密钥的比较安全,确保其比较安全可靠。
pgp加密盘可以复制吗?
不能复制。因为pgp加密盘是一种安全加密存储方式,其加密原理是基于公钥加密和私钥解密。每个pgp加密盘都需要使用指定的公钥和私钥进行加密和解密,而公钥是公开的,私钥是保密的。如果将pgp加密盘复制给他人,那么他人将可以使用该加密盘中的数据,导致数据泄露。因此,pgp加密盘不应被复制,只应该由拥有私钥的人进行解密和使用。除了pgp加密盘,还有许多其他安全存储方式。例如,可以使用密码管理器来存储和管理不同网站和应用的登录密码,以保护个人账户安全;还可以使用硬件加密盘或量子加密等更加安全的存储方式来保护敏感数据。