「Qtの応用 - AES」の版間の差分

ナビゲーションに移動 検索に移動
598行目: 598行目:
  class SecureAESCrypto {
  class SecureAESCrypto {
  public:
  public:
     // 鍵の生成
     // 安全な鍵の生成
     static QByteArray generateKey()
     static QByteArray generateKey()
     {
     {
609行目: 609行目:
     }
     }
   
   
     // 初期化ベクトルの生成
     // 安全な初期化ベクトル (IV) の生成
     static QByteArray generateIV()
     static QByteArray generateIV()
     {
     {
619行目: 619行目:
       return iv;
       return iv;
     }
     }
 
    // 平文を暗号化
     static QByteArray encrypt(const QByteArray &plaintext, const QByteArray &key, QByteArray &iv)
     static QByteArray encrypt(const QByteArray &plaintext, const QByteArray &key, QByteArray &iv)
     {
     {
638行目: 639行目:
     }
     }
   
   
    // 暗号文を復号
     static QByteArray decrypt(const QByteArray &ciphertext, const QByteArray &key, const QByteArray &iv)
     static QByteArray decrypt(const QByteArray &ciphertext, const QByteArray &key, const QByteArray &iv)
     {
     {
656行目: 658行目:
     }
     }
   
   
    // 暗号文と初期化ベクトル (IV) をファイルに保存
     static bool saveEncryptedData(const QString &filename, const QByteArray &data, const QByteArray &iv)
     static bool saveEncryptedData(const QString &filename, const QByteArray &data, const QByteArray &iv)
     {
     {
672行目: 675行目:
     }
     }
   
   
    // ファイルから暗号文と初期化ベクトル (IV) を読み込む
     static bool loadEncryptedData(const QString &filename, QByteArray &data, QByteArray &iv)
     static bool loadEncryptedData(const QString &filename, QByteArray &data, QByteArray &iv)
     {
     {
767行目: 771行目:
<u>ファイルの暗号化や大量のデータの暗号化を行う場合は、メモリ使用量を考慮してストリーミング暗号化を行う。</u><br>
<u>ファイルの暗号化や大量のデータの暗号化を行う場合は、メモリ使用量を考慮してストリーミング暗号化を行う。</u><br>
<br>
<br>
==== サンプルコード : CFBモード ====
==== サンプルコード : CFBモード ====
以下の例では、CFBモードを使用して、暗号化および復号を行っている。<br>
以下の例では、CFBモードを使用して、暗号化および復号を行っている。<br>

案内メニュー