首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将默认的wordpress密码散列系统更改为不带盐的SHA1?

将默认的WordPress密码散列系统更改为不带盐的SHA1是不推荐的做法,因为不带盐的SHA1密码散列容易受到暴力破解和彩虹表攻击。为了提高密码的安全性,建议使用带盐的密码散列算法,如bcrypt或Argon2。

如果你仍然希望将默认的WordPress密码散列系统更改为不带盐的SHA1,可以按照以下步骤进行操作:

  1. 进入WordPress的后台管理界面。
  2. 在左侧导航栏中选择“插件”。
  3. 点击“添加新插件”按钮,在搜索框中输入“WP Crontrol”并安装该插件。
  4. 安装完成后,点击“启用”按钮激活插件。
  5. 在左侧导航栏中选择“工具”->“Cron事件”。
  6. 在“添加新事件”部分,将“事件名称”设置为“disable_wp_hash_password_upgrade”。
  7. 在“Hook代码”文本框中输入以下代码:
代码语言:txt
复制
wp_clear_passwords();
  1. 点击“添加事件”按钮保存设置。
  2. 打开WordPress的文件管理器,找到wp-includes文件夹。
  3. 在wp-includes文件夹中找到pluggable.php文件,并用文本编辑器打开。
  4. 在pluggable.php文件中找到以下代码:
代码语言:txt
复制
function wp_hash_password($password) {
    $hasher = new PasswordHash(8, true);
    return $hasher->HashPassword(trim($password));
}
  1. 将以上代码替换为以下代码:
代码语言:txt
复制
function wp_hash_password($password) {
    return sha1($password);
}
  1. 保存文件并关闭文本编辑器。

请注意,这种更改可能会导致密码安全性降低,因此不建议使用。建议使用WordPress默认的带盐密码散列系统或其他更安全的密码散列算法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Shiro系列 | 《Shiro开发详细教程》第五章:Shiro编码加密

5.2 散列算法 散列算法:一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如 MD5、SHA 等。...一般进行散列时最好提供一个 salt(盐),比如加密密码 “admin”,产生的散列值是 “21232f297a57a5a743894a0e4a801fc3”,可以到一些 md5 解密网站很容易的通过散列值得到密码...“admin”,即如果直接对密码进行散列相对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如用户名和 ID(即盐);这样散列的对象是 “密码 + 用户名 +ID”,这样生成的散列值相对来说更难破解...算法生成相应的散列数据,另外还有如 SHA1、SHA512 算法。...SHA-512 算法; 以通过 hashAlgorithmName 属性修改算法; 可以通过 privateSalt 设置一个私盐,其在散列时自动与用户传入的公盐混合产生一个新盐; 可以通过 generatePublicSalt

92420

最安全的PHP密码加密方法

答:有空大家不妨去看一下:PHP“密码散列安全”问题与解决方法 最安全的PHP密码加密方法:PHP官方自带的密码哈希函数 password_hash() 常用的MD5、SHA1、SHA256哈希算法,是面向快速...password_hash()会随机生成“盐” 。 password_hash()加密后的值包括了“随机盐”+“密码散列“组合的值。当然生成这个值是通过了一定算法的,不要问为什么?...数据库只需要一个字段就可以存取“随机盐”+“密码散列“值。我以前开发项目,为了保证不同用户用不同的盐,我数据库还用了两个字段,一个存密码散列值,另一个存盐的值。...php /** - 我们想要使用默认算法散列密码 - 当前是 BCRYPT 算法,并会产生 60 个字符的结果。 - 据说bcrypt算法永不过时。...创建密码的散列(hash) password_needs_rehash — 检测散列值是否匹配指定的选项 password_verify — 验证密码是否和散列值匹配 总结: 可能很多人不知道,password_hash

4K40
  • Shiro框架学习,Shiro 编码加密

    一般进行散列时最好提供一个salt(盐),比如加密密码“admin”,产生的散列值是“21232f297a57a5a743894a0e4a801fc3”,可以到一些md5解密网站很容易的通过散列值得到密码...“admin”,即如果直接对密码进行散列相对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如用户名和ID(即盐);这样散列的对象是“密码+用户名+ID”,这样生成的散列值相对来说更难破解。...使用SHA256算法生成相应的散列数据,另外还有如SHA1、SHA512算法。...不同的是,它只用于密码验证,且可以提供自己的盐,而不是随机生成盐,且生成密码散列值的算法需要自己写,因为能提供自己的盐。...1、生成密码散列值 此处我们使用MD5算法,“密码+盐(用户名+随机数)”的方式生成散列值: Java代码 ?

    1.1K20

    PHP的几种加密算法

    前言 PHP加密方式分为单项散列加密,对称加密,非对称加密这几类。像常用的MD5、hash、crypt、sha1这种就是单项散列加密,单项散列加密是不可逆的。...MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩...另外这个函数在不同的操作系统上的表现形式也是不一样的,会自动检测。举个例子。 sha1加密算法 sha1加密算法和MD5加密算法一样时不可逆的,有两个参数,一个是要加密的字符串,第二个是bool值,如果指定第二个参数为TRUE,则返回二进制格式的字符串,如果不指定则默认为FALSE...,这个本质意义上来说实现了单项散列加密。

    2.6K40

    Shiro入门使用

    散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如 MD5、SHA 等。...一般进行散列时最好提供一个salt(盐),比如加密密码“admin”,产生的散列值是“21232f297a57a5a743894a0e4a801fc3”,可以到一些md5解密网站很容易的通过散列值得到密码...“admin”,所以直接对密码进行散列相对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如salt(即盐);这样散列的对象是“密码+salt”,这样生成的散列值相对来说更难破解。...:原始明文密码 * salt:盐值 * hashIterations:加密次数 */ return new SimpleHash(SHA1, input, salt...Realm使用散列算法 基于上面第二个 Realm 项目 接下来我们在 realm 中使用上面的密码加密,我们将上面写好的 DigestsUtil 复制到 shiro-02realm 项目,使用它创建出密码为

    52910

    PHP的几个常用加密函数

    在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数 MD5加密: string md5 ( string str[,boolraw_output =...false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,...,第二个为盐值(就是加密干扰值,如果没有提供,则默认由PHP自动生成);返回散列后的字符串或一个少于 13 字符的字符串,后者为了区别盐值。...散列作为盐值,该方式下 盐值以$1$$的形式加入,如例子中的jellybool加在后两个$符之间, 超出八位字符的会截取前八位,总长为12位;crypt默认就是这种形式。...md5很像,不同的是sha1()默认情况下返回40个字符的散列值,传入参数性质一样,第一个为加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,sha1()则会返回原始的

    86360

    PHP的几个常用加密函数

    在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数 MD5加密: string md5 ( string str [, bool raw_output...= false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true...,第二个为盐值(就是加密干扰值,如果没有提供,则默认由PHP自动生成);返回散列后的字符串或一个少于 13 字符的字符串,后者为了区别盐值。...散列作为盐值,该方式下 盐值以$1$$的形式加入,如例子中的jellybool加在后两个$符之间, 超出八位字符的会截取前八位,总长为12位;crypt默认就是这种形式。...1.跟md5很像,不同的是sha1()默认情况下返回40个字符的散列值,传入参数性质一样,第一个为加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,sha1(

    1.1K20

    PHP的几个常用加密函数

    在php的开发过程中,常常需要对部分数据(如用户密码)进行加密 一、加密类型: 1.单向散列加密   就是把任意长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,即不能对固定长度的输出信息进行计算从而得到输入信息...(3)加密算法:md5(标准密钥长度128位)、sha1(标准密钥长度160位)、md4、CRC-32 2.对称散列加密   对称加密是指加密和解密是使用同一个密钥,或者可以互相推算。...字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,         默认为false,如果设置为true,md5()则会返回原始的 16 位二进制格式报文摘要...$salt ] )   (1)crypt()接受两个参数,第一个为需要加密的字符串,第二个为盐值(就是加密干扰值,如果没有提供,则默认由PHP自动生成);      返回散列后的字符串或一个少于 13...3.Sha1加密:   string sha1 ( string $str [, bool $raw_output = false ])   (1)跟md5很像,不同的是sha1()默认情况下返回40个字符的散列值

    1.6K80

    常用的几个PHP加密函数

    1、前言 PHP加密方式分为单项散列加密,对称加密,非对称加密这几类。   像常用的MD5、hash、crypt、sha1这种就是单项散列加密,单项散列加密是不可逆的。   ...2、不可逆加密函数 (一)、md5 string md5 ( string str[,boolraw_output = false ] ) 1.md5()默认情况下以 32 字符十六进制数字形式返回散列值...,第二个为盐值(就是加密干扰值,如果没有提供,则默认由PHP自动生成【盐值只能取两位】);返回散列后的字符串或一个少于 13 字符的字符串,后者为了区别盐值。...(三)、sha1 string sha1 ( string str[,boolraw_output = false ] 1.跟md5很像,不同的是sha1()默认情况下返回40个字符的散列值,传入参数性质一样...$data是要加密的数据 hash加密也是不可逆的,因为是给定一个不确定的字符串返回特定长度的字符串,这个本质意义上来说实现了单项散列加密。

    1.5K20

    密码发展史以及常用编码算法介绍

    MD5 是一种单向散列函数,单向散列函数的作用是将任何长度的一段数据散列成固定长度,常用于生成消息认证码等等,可以与非对称算法一起用于数字签名。...换言之,就是如何将用户简单的密码变得更复杂一些? 加点盐是一个不错的解决方案!...盐(Salt),在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。...散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。 该函数将数据打乱混合,重新创建一个叫做散列值的指纹。...散列值通常用来代表一个短的随机字母和数字组成的字符串; 好的散列函数在输入域中很少出现散列冲突,在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。

    1.3K20

    密码发展史以及常用编码算法介绍

    MD5 是一种单向散列函数,单向散列函数的作用是将任何长度的一段数据散列成固定长度,常用于生成消息认证码等等,可以与非对称算法一起用于数字签名。...换言之,就是如何将用户简单的密码变得更复杂一些? 加点盐是一个不错的解决方案!...盐(Salt),在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。...散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。 该函数将数据打乱混合,重新创建一个叫做散列值的指纹。...散列值通常用来代表一个短的随机字母和数字组成的字符串; 好的散列函数在输入域中很少出现散列冲突,在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。

    1.9K20

    如何安全存储秘密?

    一、我是新手我怕谁 新手程序猿通常会直接存储明文密码在数据库中,好一点的会使用MD5来加密密码后存储md5(password),再好一点的会sha1加密密码后存储sha1(password...二、加盐salted 在密码中加入随机数字或字符,然后再进行哈希,看起来叼了很多,但是实际上对于现在计算机来说,即使简单的使用了盐和哈希的加密,短密码仍然会在非常短的情况下就会被破解出来。...三、美国标准 美国政府的标准,已经用于政府和军方的系统。PBKDF2加密算法,全程是Password-Based Key Derivation Function。...PBKDF2加密算法就是牺牲了时间来换取安全,一个明文的密码+随机的盐,然后哈希散列加密后存储起来,这是我们前面说的(二、加盐salted)。把这个过程重复100次,得到的结果存储起来。...bcrypt在默认情况下,在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得数据的人恢复数据的尝试。

    1.9K70

    PHP的Hash信息摘要扩展框架

    PHP的Hash信息摘要扩展框架 今天我们主要学习的是 PHP 中一些 Hash 散列加密相关的扩展函数的使用,而不是 Hash 算法,这种加密其实也只是一种更复杂一些的密钥算法,与 Hash 算法类似的是...,我们输入的一串字符串,就像一个 Hash 表一样有其对应的 Hash 散列值,本质上和普通的数据结构中的 Hash 键值映射是一个道理,只是其算法更复杂一些。...什么是 Hash 信息摘要算法 通常,我们将一段内容输入一个 Hash 函数后,返回的一串散列字符串就是这个输入值的 Hash 信息摘要。...我们可以对密码进行多层 Hash 并加盐来实现散列值的复杂化。 当然,Hash 算法并不止我们常用的 md5 和 sha1 ,还有很多其它类型的算法,只是我们并不常用。...而 hash_pbkdf2() 则是增加了盐值、迭代次数和数据长度三个参数,也是一个能用于密码加密的好帮手。但是相对来说,它们的使用要更复杂一些,如果是对安全性要求非常高的密码就可以使用这两种函数。

    90430

    软件安全性测试(连载20)

    认证防护 对于一个WEB系统,一般都是通过注册用户,然后用注册的信息登录系统来进行认证的。在这个过程中会需要考虑以下几点。 1)密码的强度 ① 从长度上考虑 一般认为如下密码为弱密码。...② 使用具有密码学长度的凭证盐 维基百科中定义“在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为‘加盐’”。...username password Jerry isabell l 散列函数加密存储时代:散列函数,比如MD5 或SHA-256。...产生的盐值需要注意以下几点。 l 盐值要针对一个凭证生成,而不是针对一个用户甚至一个系统生成。 l 要具有密码学强度的随机数生成的盐值,一般的随机数很容易被猜测,比如伪随机数。...④ sessionID的值 sessionID的值不要包括敏感信息,并且使用SHA-256散列函数来进行加密(现在有实验表明MD5与SHA-1散列函数都是不安全的。

    65410

    『加密算法』| 自动化测试时基于Python常用的几个加密算法实现,你有用到吗?

    3 MD5直接加密MD5是一种常用的单向散列函数,是不可逆的,也就是说无法通过被加密后的结果来确定加密前的内容;生成结果为固定的128位字节,一般为32位的十六进制字符串;这里会使用到hashlib,这个一般...MD5加密有个真实的业务场景,在测试某个业务系统的时候,它不是简单的密码MD5加密;而是使用用户名和密码组合后,先转小写再md5加密;这个需求的实现过程为: def test_md5_01(self...密码使用MD5+盐加密这个场景是先把密码设置盐;然后将盐拼接在原密码之后;实现过程为: def test_md5_02(self): s = self.password[:5]...SHA1加密这个和MD5类似,不过它的结果是160位字节,一般为40位的十六进制字符串;它也是在hashlib中;用户名和密码拼接后使用SHA1加密,实现如下: def test_sha1(self...比SHA1更安全,但是效率慢,结果也会长一些;用户名和密码拼接后使用SHA256加密,实现如下: def test_sha256(self): data = self.name +

    43130

    Android 安全

    MD5不可逆原因 由于它是一种散列数,也叫哈希数,它是一种单向密码体制,即明文到密文不可逆映射,即只有加密过程,没有解密过程。...这里就有人会问到什么是彩虹表,摘抄维基百科: 它是一个用于加密散列函数逆运算预先计算好的表。常用于破解加密后的密码散列。...由于sha1,sha256,sha512也是类似于md5,所以可以通过,md5后再sha1等增加“一点”安全性,减少彩虹表破解可能性 真正公认的方法是md5或sha1加“盐”,就是要进行md5的字符串...在密码学中,是指在散列之前,将散列内容任意固定位置插入特定的字符串,这种插入字符串的方式称为加盐,在大部分情况,盐不需要保密,盐可以是随机字符串,也可以是随机位置,这样安全性就大大提高。...但是加盐后的散列值,即使通过彩虹表获取散列后的数值对应的原始内容,但是加盐后插入的字符串扰乱了真正的密码,是的获取真正密码的概率大大降低。

    1.1K10

    一种常见的对称加密算法--DES分析

    这样会增加安全性,别人就算获得了你的加密源码,也要重新构造彩虹表。 2.SHA-1,安全哈希算法,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。。...该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。...任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应,雪崩效应是我们所希望的。...4.MD5+salt对于大部分中小网站来说已经足够安全了; 5.不能加固定盐(salt)(不是随机salt,全部设一样的值),人家连你的密码库都能拿到,盐还不是轻而易举的事情么?...比如这样的思路: 我已经有你的程序了; 找到生成密码散列值的入口函数Fuck(); 拿一个明文密码库,在一个用户账号上面不停地改密码,也就是用每一个P不断地Fuck(P); 好了,密码碰撞库就出来了

    82320

    PHP 密码散列算法函数password_hash详解

    PASSWORD_BCRYPT 支持的选项: salt(string) - 手动提供散列密码的盐值(salt)。这将避免自动生成盐值(salt)。...省略此值后,password_hash() 会为每个密码散列自动生成随机的盐值。这种操作是有意的模式。 警告 盐值(salt)选项从 PHP 7.0.0 开始被废弃(deprecated)了。...algo: 一个用来在散列密码时指示算法的密码算法常量。 cost,用来指明算法递归的层数。这两个值的例子可在 crypt() 页面找到。省略后,将使用随机盐值与默认 cost。...options: 一个包含有选项的关联数组。目前支持两个选项:salt,在散列密码时加的盐(干扰字符串),以及cost,用来指明算法递归的层数。这两个值的例子可在 crypt() 页面找到。...省略后,将使用随机盐值与默认 cost。 示例1 <?php /** * 我们想要使用默认算法散列密码 * 当前是 BCRYPT,并会产生 60 个字符的结果。

    1.1K20
    领券