- System.Security.Cryptography名前空間から必要なクラスをインポートします。具体的には、SHA512ManagedクラスとCryptoStreamクラスが必要です。
using System.Security.Cryptography;
using System.IO;
- 暗号化するフォルダのパスを指定します。
string folderPath = "暗号化するフォルダのパス";
- フォルダ内のすべてのファイルを取得します。
string[] files = Directory.GetFiles(folderPath, "*", SearchOption.AllDirectories);
- 各ファイルに対して、SHA-512ハッシュを計算します。
foreach (string file in files)
{
using (FileStream stream = File.OpenRead(file))
{
using (SHA512 sha512 = new SHA512Managed())
{
byte[] hash = sha512.ComputeHash(stream);
// ハッシュ値を使用して何かを行う(例:ファイル名とハッシュ値を保存する、ファイルを別の場所にコピーするなど)
}
}
}
上記のコードでは、フォルダ内のすべてのファイルに対してSHA-512ハッシュを計算し、そのハッシュ値を使用して必要な処理を行うことができます。具体的な処理は、ハッシュ値を保存するか、ファイルを別の場所にコピーするなど、要件に応じて行ってください。
注意点として、SHA-512はハッシュ関数であり、暗号化ではありません。ハッシュ関数はデータの一意の表現を生成しますが、元のデータを復元することはできません。従って、この手法はデータの完全な暗号化には適していません。データの暗号化を行う場合は、対称鍵暗号や公開鍵暗号などの暗号化アルゴリズムを使用する必要があります。