programing

노드에서 워드프레스 암호 암호화JS

bestcode 2023. 2. 14. 20:23
반응형

노드에서 워드프레스 암호 암호화JS

노드의 워드프레스 데이터베이스에서 사용자 인증을 수행하는 방법JS.

워드프레스 데이터베이스를 사용하여 사용자 이름/비밀번호가 맞는지 확인해야 합니다.Wordpress는 PHPass PHP 라이브러리를 사용하여 암호를 암호화하고 있습니다.단, NodeJs의 패스워드와 일치해야 합니다.

편집: 현재 Wordpress 휴대용 해시를 지원하는 구현이 있습니다: Wordpress-Hash-node.

이전 회신:

하아... 나는 이것에 흥미를 가지고 30분 동안 PHPass 소스 코드를 조사했다.그리고 노드 패스를 검색했습니다.

편집: 자세히 보면, 이것은 bcrypt 암호화만 실장하고 있는 것 같습니다만, PHPass 디폴트(Wordpress가 사용하고 있다고 생각합니다)는 「Portable Hashes」라고 불리는 것입니다. node-phpass던지다'Portable hashes are not implemented'휴대용 해쉬를 원하시면요.이 기능을 도입할 것을 권장합니다.node-phpass풀 요청을 보냅니다.

Wordpress 4.9.5의 경우 NodeJS에서 다음 시간 이후

npm i wordpress-press-node

var hasher = require('wordpress-hash-node');
let wordpressHashPass = "$P$BzPE3JGpq4CUpvpMHhtPh3lZmIoG.s1";
let wordpressPlainTextPass = '(&@fZsImcKq7K3Lmd&qBe!Jx';
var checked = hasher.CheckPassword(wordpressPlainTextPass, wordpressHashPass); //This will return true
console.log(checked); // returns true

var hasher = require('wordpress-hash-node');
let wordpressHashPass = "$P$BzPE3JGpq4CUpvpMHhtPh3lZmIoG.s1";
let wordpressPlainTextPass = 'goodday';
var checked = hasher.CheckPassword(wordpressPlainTextPass, wordpressHashPass); //This will return false
console.log(checked); // returns false

wordpressHashPass는 사용자의 Wordpress의 wp_users 테이블에서 찾을 수 있는 MD5 해시 패스워드입니다.

word press Plain Text Pass는 사용자가 비밀번호 필드에 입력하는 일반 텍스트 비밀번호입니다.

CheckPassword 메서드는 플레인텍스트 비밀번호와 해시 비밀번호를 비교합니다.일치하면 true를 반환하고 일치하지 않으면 false를 반환합니다.

언급URL : https://stackoverflow.com/questions/10346916/wordpress-password-encryption-in-nodejs

반응형