3

sha256ジェネレータークラスへの単純な文字列が必要です。openSSLやCripto++のような大きなライブラリを構築したくありません。必要なのは文字列をsha256に変換することだけです。そのようなクラスを作成する方法またはそれを取得する場所は?

4

4 に答える 4

2

他の人が言っているように、SHA256でのハッシュは、より大きなコーディングプロジェクトのサブセットとして自分自身を実装するのに十分なほど簡単ではないという印象を受けました。SHA-2のウィキペディアページを見ると、かなり激しい数学に気付くでしょう。実際の暗号化の要約(数学理論自体)が必要な場合は、ここにあります。セキュリティに重点を置いていないほとんどのプログラマーのように、他の誰かがテストして試した実装を使用したいと思うでしょう。あなたはここでかなりの数を見つけることができます。これが役に立ったかどうか教えてください。申し訳ありませんが、ストレートコードまたはそのような性質のものであなたの質問に答えることができませんでした。

于 2011-07-21T18:55:20.040 に答える
2

CソースコードはRFC6234のセクション8に直接あります。正誤表も確認してください。

于 2011-07-21T22:41:24.237 に答える
1

あなたはこれを求めている?

static void
sha2_round(const unsigned char *data, sph_u32 r[8])
{
    int i;
    sph_u32 a, b, c, d, e, f, g, h;
    sph_u32 w[64];

    for (i = 0; i < 16; i ++)
        w[i] = sph_dec32be_aligned(data + (4 * i));
    for (i = 16; i < 64; i ++) {
        w[i] = SPH_T32(SSG2_1(w[i - 2]) + w[i - 7]
            + SSG2_0(w[i - 15]) + w[i - 16]);

http://www.saphir2.com/sphlib/にアクセス してダウンロードします。それはGPLの下にあります。sha2.cを見てください

注意してください、それは多くのドキュメントを持っていません。自分が何をしているのかをすでに知っている人のために設定されています。

于 2011-07-21T18:56:13.970 に答える
0

GNUcoreutilsには非常に単純なソースコードがあります。coreutilsをダウンロードするだけで、ビルドできるテストスイートもあり、ソースコードにはコメントやドキュメントが満載です。

于 2011-07-21T19:17:30.107 に答える