httpsを使用せずにキーを使用してクライアントとサーバー間で送信されるデータを暗号化する際に問題が発生しました(キーは個別に送信されます。これは別の話です)。メカニズムに興味があります。組み込みのJS暗号化関数がなく、PHPは多数ありますが、すべてが通常のデコードUTF8であるとは限りません。
質問:そのような問題の既成の解決策(可能であれば例を挙げて)はありますか?
httpsを使用せずにキーを使用してクライアントとサーバー間で送信されるデータを暗号化する際に問題が発生しました(キーは個別に送信されます。これは別の話です)。メカニズムに興味があります。組み込みのJS暗号化関数がなく、PHPは多数ありますが、すべてが通常のデコードUTF8であるとは限りません。
質問:そのような問題の既成の解決策(可能であれば例を挙げて)はありますか?
この問題は、JavaScript で動作する RSA 実装を持つpidCryptで解決しました。私が使ったことのないjCryptionもあります。
私は最近、これを実装することが有効な事実上唯一のケースである: アプリケーション キャッシュにデータをオフラインで保存していて、交渉の余地のないビジネス要件により、そこにある間は暗号化する必要がありました。同様のことをしていない限り、答えは SSL を使用して、この問題に対する JS ソリューションを実装するという希望を捨てることです。コードをブラウザに安全に送信するには SSLが必要です。SSL を使用しないと、そこで行う暗号化は根本的に安全ではありません。
全体として、問題の解決策を見つけました。アルゴリズム AES CBC 256 ビットを使用しました。ライブラリ意味不明な AES (https://github.com/mdp/gibberish-aes) および php のフォーク (https://github.com/ivantcholakov/gibberish-aes-php/blob/master/GibberishAES.php)