64 バイト (512 ビット) のソルトを生成するメソッドを取得しました。
public static string GenerateSalt()
{
    var rngCrypto = new RNGCryptoServiceProvider();
    byte[] saltBytes = new byte[64];
    rngCrypto.GetBytes(saltBytes);
    string result = Convert.ToBase64String(saltBytes);
    return result;
}
これは問題なく実行されているようですsaltBytes。bytearray のサイズは 64 バイトです。ただし、char(64)型付きの列で構成される MS SQL データベース テーブルに結果を入力できません。
私の仮定では、Convert.ToBase64String(saltBytes);私の側でメソッドに問題があると思いますが、これを改善する方法を知りたいです。簡単に実行するSystem.Text.ASCIIEncoding.Unicode.GetByteCount(secondSalt);と、文字列サイズが 64 バイトではなく 176 バイトであることがわかります。