暗号は、来年の大学で実際に学ぶまで、文字通りまったく経験のないトピックです (単純な暗号の基礎知識を除く)。将来的にはそれらをよりよく理解できるようになることを願っていますが、今のところ、内部の詳細を知らずにアプリに実装したいと思います.
シナリオ
暗号化を追加して、PHP/NodeJS アプリの 1 つを保護しようとしています。これを行っているのは、NodeJS と PHP の間で安全な方法でデータを共有できるようにするためです。
PHP サーバー -> データの暗号化と復号化ができる必要があります
NodeJS サーバー -> データの復号化のみが必要
可能な解決策
私は自分の問題に対するまともな解決策を探すのに何時間も費やしました。多くのコード サンプルを試しましたが、これは私がこれまでに見つけてテストした中で最高のコード サンプルのようです。
コードからわかるように、復号化メソッドは NodeJ と PHP の両方に対して構築されています。どちらも、私がテストしたものとはかけ離れて非常にうまく機能しているようです。それは私の問題の半分がすでに解決されています。:-)
私が今やろうとしているのは、PHP コードで暗号化関数を実装する方法を理解することです。私はこれを試しました:
print "Encrypted: " . base64_encode(openssl_encrypt("Hello world", 'aes-256-cbc', $password));
しかし、私は次の出力を取得します:aUZaNnFlWWV5M0dObTE1U3pxMENwdz09
実際には edata の値を出力として取得する必要がある場合:U2FsdGVkX18M7K+pELP06c4d5gz7kLM1CcqJBbubW/Q=
この出力が異なる理由を誰かが知っていますか? 私は明らかに何か間違ったことをしていますが、そのPHPコードで多くのことが行われているため、何をすべきかわかりません...誰かが私に少しのガイダンスを与えることができれば素晴らしいでしょう. ありがとう!