在前面的文章【magento2 customer 客户密码加密原理】我们详细分析了magento2的用户密码加密原则,当我们掌握了其中的原理后,如果需要将magento2的customer表迁移到其他的系统,就变得非常简单了,使用相同的加密规则来解密,就能无缝对接用户登录,而不用在新的系统里面让客户去改密码。
但是我们在magento2的平时使用中,批量插入用户,不可避免的就是要插入密码,如果自己写excel导入模块,插入默认密码还是比较简单的,但是用系统自带的import导入customer,密码就不是那么好处理了。我这里分享一个简单的方法,或许比较笨,但是亲测有效,且非常好操作
- .走正常注册,先注册一个账号,密码就为’123456qwer‘
- 到数据将新注册的用户的password_hash和created_at 复制出来,这两个参数都是必须的 '629826f6ae8exxxa40088cc2d97b98789e08bcae4ff4ab9969147e96:VwbmxxfTj1LSc92JWW1xKEpkzI4:3_32_2_67103864'
'2022-05-07 17:55:53' - 执行sql,批量修改
UPDATE `customer_entity` SET `password_hash`='629826f6ae8exxxa40088cc2d97b98789e08bcae4ff4ab9969147e96:VwbmxxfTj1LSc92JWW1xKEpkzI4:3_32_2_67103864', `created_at`='2022-05-07 17:55:53' , `store_id`=1
WHERE `password_hash` is null and xxx(可以加条件缩小范围,避免造成生产事故)
- 这样就已经将目标用户的密码改成’123456qwer‘了