我是史塔索·诺布。我正在创建一个带有预prestashop 1.7的离子应用程序。
TL;DR:
我不能使用与Prestashop 1.7相同的加密方法来比较应用程序用户密码和DB加密密码
详细信息:
因此,预prestashop没有提供一种正确的登录方式(文档中甚至没有提到Login)。我正在考虑让客户使用输入的email(api/customers/?filteremail=INPUT_EMAIL),,然后从api加密用"passwd“属性加密的INPUT_PASSWORD。问题是我无法应用与Prestashop相同的加密(即使密码是正确的,它们也永远不会匹配)。
PS:
我试过md5(COOKIE_KEY+INPUT_PASSWORD),但还是不对
发布于 2020-12-22 07:15:54
有点晚了,但我相信其他人会面临这样的局面。我所做的就是问题中提到的相同的过程:获取客户信息并匹配密码。Prestashop 1.6显然使用了md5,而PS1.7使用了bcrypt,所以您必须:
获取bcryptjs包(我使用的是角,有用于nodejs的bcrypt包)。
将$2y$替换为$2a$ (第一个由PHP的bcrypt使用,第二个由Javascript使用)。
将哈希与键入密码bcrypt.compare(INPUT_PASSWORD, pwd)进行比较
从那里,如果他们匹配,那么你调整你的应用程序,以表现为想要的。
https://stackoverflow.com/questions/64856485
复制相似问题