sql >> データベース >  >> RDS >> Mysql

Javaを使用したAES_ENCRYPTおよびAES_DECRYPT

    toString() バイト配列では、バイト配列のコンテンツは返されませんが、[[email protected] その後にバイト配列のIDハッシュコードが続きます。挿入物で、keyのコンテンツを使用していません キーとして、ただしtoString -価値。 PreparedStatementを使用する必要があります パラメータ化されたクエリを使用し、setBytesを使用して値を設定します :

    psmt = con.prepareStatement("insert into mm values (?, AES_ENCRYPT(?, ?), AES_ENCRYPT(?, ?))");
    psmt.setInt(1, id);
    psmt.setString(2, name);
    psmt.setBytes(3, key);
    psmt.setstring(4, sal);
    psmt.setBytes(5, key);
    

    選択したクエリについても同じようにします。

    値をクエリに連結しないでください。 SQLインジェクションに対して脆弱になります。



    1. AssertionError:データベース接続がUTCに設定されていません

    2. PHPでテーブルを作成し、MySQLからデータを入力します

    3. Windowsのコマンドプロンプトからmysqlクエリを実行できますか?

    4. PDO ::commit()の成功または失敗