暗号に関する勉強をしているのですがSHA2をプログラムで計算させたいのですがその方法に関して質問です
http://msdn.microsoft.com/ja-jp/library ... 10%29.aspx
公式の上記のクラスを使用し計算させようと思うのですがC++の構文や例を使ってもエラーを吐くだけで動きません。
このクラスをどのように使用すれば動くプログラムが作れるのでしょうか?
使用環境はVisual C*++ 2010 Expressです
古いですがVC2010にて質問です
Re: 古いですがVC2010にて質問です
これは.NET FrameworkのクラスなのでC++/CLIという言語でないと動きません。
C++/CLIを使うのはおすすめしないのでC++用のSHA-2用のライブラリをどこかで探したほうがいいと思います。
これとか
http://www.aarongifford.com/computers/sha.html
C++/CLIを使うのはおすすめしないのでC++用のSHA-2用のライブラリをどこかで探したほうがいいと思います。
これとか
http://www.aarongifford.com/computers/sha.html
Re: 古いですがVC2010にて質問です
解決となっていますが,一応Win32の範囲内で。
- CryptAcquireContext functionでCSPのハンドルを取得
- CryptCreateHash functionにCALG_SHA_256, CALG_SHA_384, CALG_SHA_512を与えてハッシュオブジェクトのハンドルを取得
- CryptHashData functionでデータをハッシュ
- CryptGetHashParamにHP_HASHVALを渡してデータを取得
- CryptDestroyHash functionでハッシュオブジェクトを破棄
- CryptReleaseContext functionでCSPの使用権を放棄
オフトピック
SHA-2系のALG_IDにはWindows XP SP3以降と書かれているので,現行サポートWindowsだとWindows Server 2003に関して,サポートしていない可能性があります。
それ以外の,Windows Vista以降のクライアントOSやWindows Server 2008以降のサーバーOSに関してはサポートしていると思われます。
それ以外の,Windows Vista以降のクライアントOSやWindows Server 2008以降のサーバーOSに関してはサポートしていると思われます。