Opensslハッシュアルゴリズム実戦MD 5/SHAシリーズ/DSS/RIPEMD 160


先にopensslでよく見られるいくつかの対称暗号化アルゴリズムの呼び出し方法を紹介したが、ここではopensslの単一ハッシュ関数を引き続き研究し、EVPは暗号化アルゴリズムをよくパッケージ化し、簡単で使いやすい呼び出しポートを提供し、使用が非常に便利である.
冒頭で説明しなければならない点は、コンピュータの計算能力が向上するにつれて、MD 5の解読がますます敷居が低くなることである.そのため、多くの文章はSHAがより安全だと言っています.主にSHAのハッシュ値がもっと長いからです.
しかし,窮挙解読を用いる場合,元のデータの空間を遍歴する必要があり,MD 5とSHAの計算速度が大きく異なる場合,MD 5とSHAが窮挙の前で解読される確率が同じであることを意味するのだろうか.
ここで紹介するハッシュアルゴリズムはMD 5/SHAシリーズ/DSS/RIPEMD 160があり、呼び出しロジックは非常に簡単です.コードを見てください.
#include 
#include "evp.h"
#include 

int get_digest(const EVP_MD *type,char *s_buf,int s_len,char *d_buf,int *d_len,char *msg){
    int i,ret = 0;
    EVP_MD_CTX ctx;
    EVP_MD_CTX_init(&ctx);
    EVP_DigestInit_ex(&ctx,type,NULL);
    EVP_DigestUpdate(&ctx,s_buf,s_len);
    EVP_DigestFinal_ex(&ctx,d_buf,d_len);
    EVP_MD_CTX_cleanup(&ctx);
    fprintf(stderr,"%s message:[%s]
digestlen:[%d]digest:[",msg,s_buf,*d_len); for(i=0;i

コンピュータのコンピューティング能力が向上するにつれて、MD 5のセキュリティはますます低下しています.したがってMD 5を使用する場合は加塩処理を行うことを推奨し,同様にSHAや他のハッシュ関数を使用する場合もこの処理を使用する必要がある.
ハッシュアルゴリズムとしてSHAを使用することを推奨します.MD 5の使用を減らす.
以上のコードはopenssl-0.9で実行する.8 zdバージョンでテストに合格しました.Opensslのすべてのバージョンで実行できるかどうか分かりません.ご使用中はご自身でどうぞ.