私はNode.jsとMysqlを使用しています。データベースのデータを暗号化したいと思います。 誰かが問題なくサーバー上で読むことができるプレーンなキーを渡すので、簡単な検索ができるファイルにプレーンキーを格納するのを避けるにはどうすればいいですか。AES_ENCRYPT(text, key)
は意味がありません。プレーンファイルのキーを避けるには?
アドバイスはありますか? 非対称暗号?
おかげ
私はNode.jsとMysqlを使用しています。データベースのデータを暗号化したいと思います。 誰かが問題なくサーバー上で読むことができるプレーンなキーを渡すので、簡単な検索ができるファイルにプレーンキーを格納するのを避けるにはどうすればいいですか。AES_ENCRYPT(text, key)
は意味がありません。プレーンファイルのキーを避けるには?
アドバイスはありますか? 非対称暗号?
おかげ
私は前のログ内に現れる任意の暗号化されていないデータを防止するために、MySQLサーバーに送信するすべてのデータを暗号化します。次の情報は、必要に応じてNode.js暗号モジュールをデタールします。そうすることで、サーバを離れてしまうのは、キーなしで使用する暗号化された文字列だけです。
Node.jsの暗号化モジュールのドキュメント:あなたは、ユーザーがreadline
モジュールを使用して、起動時にキーを供給してみましょうことができ
http://nodejs.org/docs/latest/api/crypto.html:
アプリ:
module.exports = function(key) {
var app = // ...
}
あなたの起動スクリプト:
var readline = require('readline')
, interface = readline.createInterface(process.stdin, process.stdout, null);
interface.question("Please supply a key", function(key) {
// load your app, supplying the key
require("./app")(key);
interface.close();
process.stdin.destroy();
});
私はウェブサイトではありません – Dail
このリンクは、説明。これはより良いです:http://nodejs.org/docs/latest/api/crypto.html –
ありがとう@LinusGThiel - 私はColdfusionにもっと慣れていますが、同じ原則が適用されます:) –
@ Simonatmso.net node.jsサーバー上で実行すると、どのようにクライアント上で "crypto"モジュールを使用できますか? – Dail