Webアプリケーションがあり、暗号化されたデータをデータベースに送信しようとしています。 WebアプリケーションはJavaにあり、データベースはMySQLにあります。私のテーブルフィールドは、varchar
の場合はString
、int
の場合はinteger
などの通常のものです。
私は暗号技術に不慣れであることを言わなければならないので、暗号を完全に研究するまで、今のところ簡単に実装できるAPIを探していました。それから私は Jasypt に出くわしました。
私はこのAPIをテストしましたが、バイナリをBase64文字列に変換するのが良い点です。ただし、次の質問があります。
Jasypt
はAuthenticated Encryptionをサポートしていますか?もしそうなら、どのアルゴリズムについて?
Jasyptの最終公開日は2014年2月25日です。これは、暗号化方式が「古くなった」ことを意味しますか? (おそらく今だと思います)
Jasyptで文字列暗号化アルゴリズムを使用する場合、クレジットカード番号や健康記録などの機密情報を保護するのに十分ですか? (私は「最高」の保護はなく、いつまでも「壊れない」ことになることを知っています。そのため、「十分に十分」な言葉を使用しました。)
Java Cryptographic Extensionsを自分で使用するのが最善の方法です。つまり、Jasyptはかなり古く、それ自体、さまざまなJCE実装のラッパーです。
OWASP(OWASPを知らない場合は、OWASPについて知ってください-大量のセキュリティアドバイスを提供する素晴らしい非営利団体)が、JCEを直接使用するための素晴らしいページを持っています-AESの例を確認してください: https:// www。 owasp.org/index.php/Using_the_Java_Cryptographic_Extensions#AES_Encryption_and_Decryption
おそらく、これで十分です。 AES-128は、量子コンピューティングが不足していると考えられています。