91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-07
  • 語言: C/C++
  • 標簽: sha1??

資源簡介

全哈希算法(Secure Hash Algorithm)主要適用于數字簽名標準(Digital Signature Standard DSS)里面定義的數字簽名算法(Digital Signature Algorithm DSA)。對于長度小于2^64位的消息,SHA1會產生一個160位的消息摘要。當接收到消息的時候,這個消息摘要可以用來驗證數據的完整性。在傳輸的過程中,數據很可能會發生變化,那么這時候就會產生不同的消息摘要

資源截圖

代碼片段和文件信息

/*??sha1.c??*/
/*??以下所用各種參量名稱皆為sha-1在出版物上所用之公用名稱??*/
?#include?“sha1.h“

/*
?*??以下是為?SHA1?向左環形移位宏?之定義
?*/
#define?SHA1CircularShift(bitsword)?\
????????????????(((word)?<>?(32-(bits))))


/*?局部函數原型?*/
void?SHA1PadMessage(SHA1Context?*);????/*??定義填充信息指針??*/
void?SHA1ProcessMessageBlock(SHA1Context?*);

/*
?*??SHA1Reset
?*??
?*??以下為數據初始化之操作
?*??Parameters:(參數設置)
?*??context:?[in/out]
?*??The?context?to?reset.
?*
?*/
int?SHA1Reset(SHA1Context?*context)
{
????if?(!context)
????{
????????return?shaNull;
????}

????context->Length_Low?????????????=?0;
????context->Length_High????????????=?0;
????context->Message_Block_Index????=?0;

????context->Intermediate_Hash[0]???=?0x67452301;
????context->Intermediate_Hash[1]???=?0xEFCDAB89;
????context->Intermediate_Hash[2]???=?0x98BADCFE;
????context->Intermediate_Hash[3]???=?0x10325476;
????context->Intermediate_Hash[4]???=?0xC3D2E1F0;

????context->Computed???=?0;
????context->Corrupted??=?0;
????return?shaSuccess;
}

/*
?*??SHA1Result
?*
?*??以下為sha-1結果描述:
?*:
?*??該算法將會返回一個160比特的消息摘要隊列
?*
?*??或者輸出計算錯誤
?*
?*/
int?SHA1Result(?SHA1Context?*context
????????????????uint8_t?Message_Digest[SHA1HashSize])
{
????int?i;

????if?(!context?||?!Message_Digest)
????{
????????return?shaNull;
????}

????if?(context->Corrupted)
????{
????????return?context->Corrupted;
????}

????if?(!context->Computed)
????{
????????SHA1PadMessage(context);
????????for(i=0;?i<64;?++i)
????????{
????????????/*?消息清零?*/
????????????context->Message_Block[i]?=?0;
????????}
????????context->Length_Low?=?0;????/*?長度清零?*/
????????context->Length_High?=?0;
????????context->Computed?=?1;
????}

????for(i?=?0;?i?????{
????????Message_Digest[i]?=?context->Intermediate_Hash[i>>2]
????????????????????????????>>?8?*?(?3?-?(?i?&?0x03?)?);
????}

????return?shaSuccess;
}

/*
?*??以下為sha-1輸入描述:
?*
?*??接收單位長度為8字節倍數的消息
?*
?*/
int?SHA1Input(????SHA1Context????*context
??????????????????const?uint8_t??*message_array
??????????????????unsigned???????length)
{
????if?(!length)
????{
????????return?shaSuccess;
????}

????if?(!context?||?!message_array)
????{
????????return?shaNull;
????}

????if?(context->Computed)
????{
????????context->Corrupted?=?shaStateError;
????????return?shaStateError;
????}

????if?(context->Corrupted)
????{
?????????return?context->Corrupted;
????}
????while(length--?&&?!context->Corrupted)
????{
????context->Message_Block[context->Message_Block_Index++]?=
????????????????????(*message_array?&?0xFF);

????context->Length_Low?+=?8;
????if?(context->Length_Low?==?0)
????{
????????context->Length_High++;
????????if?(context->Length_High?==?0)
????????{
????????????/*?Message?is?too?long?*/
????????????context->Corrupted?=?1;
????????}
????}

????if?(context->Message_Block_Index?==?64)
????{
????????SHA1ProcessMessageBlock(context);
????}

????message_array+

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7178??2009-04-25?17:27??sha1\sha1.c

?????文件???????1277??2009-05-12?10:24??sha1\sha1.h

?????文件???????3246??2009-05-12?10:28??sha1\sha1test.c

?????文件???????7036??2009-05-12?10:27??sha1\stdint.h

?????目錄??????????0??2010-04-10?12:24??sha1

-----------?---------??----------?-----??----

????????????????18737????????????????????5


評論

共有 條評論