バッファオブジェクトにAES解読を使用する際に問題があり、誰かが私が間違っていることを知っていることを願っています...
MyExample: ユーザー名とパスワードに AES_ENCRYPT を使用する MySQL テーブルがあります...
CREATE TABLE Accounts
(
id INT(4) NOT NULL AUTO_INCREMENT,
username VARBINARY(128) NOT NULL,
password VARBINARY(128) NOT NULL,
PRIMARY KEY(id)
);
DELIMITER |
CREATE TRIGGER encodeAccounts BEFORE INSERT ON Accounts
FOR EACH ROW BEGIN
SET NEW.username = AES_ENCRYPT(NEW.username, 'password');
SET NEW.password = AES_ENCRYPT(NEW.password, 'password');
END;
Node.JS: node-mysql モジュールを使用してクエリをデータベースに送信しています。
SELECT * FROM Accounts;
パスワードとユーザー名には、次のような値が返されます。
<Buffer 07 86 95 ee 77 df 86 50 ae 18 4c d5 3e 48 42 75>
Node.JS decipher メソッドでデコードする方法は? 私の試みはすべて失敗しました... AES-128-ECBが正しく選択されていることを願っています...
Node.JS で何かを解読するには、次のようにします。
var decipher = crypto.createDecipher('AES-128-ECB', 'password');
var dec = decipher.update(rows[i].username); // an example, value look like <Buffer ...
dec += decipher.final('utf8');
console.log('dec: ' + dec);
助けてくれてありがとう:)