`

SHA1摘要算法

阅读更多
#include <boost/uuid/sha1.hpp>
#include <iostream>
#include <string.h>
using namespace std;
using namespace boost::uuids::detail;

int main(){
    sha1 sha;
    char *szMsg = "a short message";
    sha.process_byte(0x10);//处理一个字节
    sha.process_bytes(szMsg,strlen(szMsg));//处理多个字节
    sha.process_block(szMsg,szMsg+strlen(szMsg));

    unsigned int digest[5];
    sha.get_digest(digest);
    for(int i=0;i<5;++i){
        cout << hex << digest[i];//16进制输出,oct八进制
    }
}

ae0871e0a767f827dbb07d259bf9b19b9933ce38
分享到:
评论
2 楼 zjx20 2012-05-14  
zjx20 写道
digest[]的字节序貌似是反的,直接输出会有问题

http://pastebin.com/8n1HqADw


是我错了
1 楼 zjx20 2012-05-14  
digest[]的字节序貌似是反的,直接输出会有问题

http://pastebin.com/8n1HqADw

相关推荐

    SHA1 摘要算法C语言代码

    从 RFC3174 文档摘抄下来的 SHA1 摘要算法的C语言实现代码

    SHA1摘要算法-C语言

    SHA1算法基于消息块处理和循环结构,将输入消息分割成512位的消息块,然后对每个消息块进行一系列复杂的数学运算,包括位操作、异或、加法等,最终生成160位的摘要值。这个过程涉及四个32位的中间变量A、B、C、D和一...

    消息摘要函数 SHA-1 算法的 数据填充和扩展

    消息摘要函数 SHA-1 算法的 数据填充和扩展

    sha1withrsa算法 华为sha256withrsa算法

    标题中的“sha1withrsa”和“华为sha256withrsa”算法是两种常见的公钥加密算法在数字签名过程中的应用。这两种算法都属于非对称加密算法的一部分,广泛用于确保数据完整性和认证发送者身份。在此,我们主要探讨它们...

    信息摘要算法实例 MD5/SHA-1摘要生成算法

    MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛使用的摘要算法,它们可以将任意长度的数据转化为固定长度的摘要值。这个摘要值具有抗篡改性,即使原始数据发生微小变化,生成的...

    SHA1加密算法(c语言实现).zip

    这个压缩包文件"SHA1加密算法(c语言实现).zip"显然包含了用C语言编写的SHA1算法实现。C语言是一种底层、高效且通用的编程语言,非常适合实现这样的底层算法。 SHA1全称为Secure Hash Algorithm 1,是美国国家安全局...

    SHA1哈希摘要算法实现

    在描述中提到的"对选择的文本用SHA1进行消息摘要"是指通过SHA1算法计算选定文本的散列值。这个过程是不可逆的,即无法根据散列值还原原始数据,这正是散列函数的安全特性之一。计算出的消息摘要用于验证数据的完整性...

    SHA-1算法c语言实现

    SHA-1算法的步骤主要包括初始化、处理消息块和生成摘要。首先,算法初始化五个32位的中间变量,接着将输入消息划分为512位的消息块,每个消息块经过一系列的循环运算,包括左移、异或和加法操作。这些运算使得每个...

    SHA1算法C语言源代码

    SHA1算法在1995年发布,其全称为Secure Hash Algorithm 1,可以将任意长度的信息转化为固定长度的摘要值,通常为20字节(160位)。这个摘要具有单向性和抗碰撞性,即从摘要无法恢复原始数据,且不同的输入数据几乎不...

    sha1算法三_可直接在VS上运行_SHA1_SHA1算法源码_源码

    SHA1算法的工作原理是将输入的数据(可以是任意长度)通过一系列的数学运算,如位左移、异或、加法等,转化为固定长度的摘要值。这个过程是不可逆的,也就是说,无法从摘要值反推原始数据,这确保了其安全性。SHA1...

    Sha1算法c语言实现

    SHA1算法将任意长度的输入(也称为预映射)转换为固定长度的输出,这个输出通常是一个160位(20字节)的二进制数,被称为散列值或消息摘要。散列函数的特点是,输入的微小变化都会导致输出的显著不同,且难以逆向...

    sha-1算法java实现【jar包+源码+文档】

    这个类提供了一种标准的方式来计算各种消息摘要,包括SHA-1。下面是一个简单的SHA-1散列计算示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class ...

    VC++ SHA1加密算法

    SHA1算法属于消息摘要算法,其主要功能是将任意长度的消息转化为固定长度的摘要值,通常为160位(20字节)。这个摘要值具有唯一性和抗碰撞性,即相同的输入会产生相同的摘要,而不同的输入几乎不可能产生相同的摘要...

    SHA256加密算法

    1. 安全性:SHA256算法被设计成对于任何给定的消息,计算出的摘要几乎不可能相同,且难以通过摘要反推出原始消息,提供了良好的抗碰撞性。 2. 不可逆性:由于是单向函数,SHA256的目的是使得从哈希值恢复原始数据变...

    SHA256 摘要算法 、HMAC_SHA256 散列/哈希算法 C语言实现,适应于各种嵌入式单片机

    /*此函数用于对消息计算摘要值,输入任意大小消息,输出32字节摘要值*/ void hmac_sha256_get(uint8_t digest[32], uint8_t *message, int message_length, uint8_t *key, int key_length);/*此函数用于HMAC_SHA256...

    HMAC-SHA1 算法签名 亲测可用

    HMAC-SHA1算法签名就是一种常见的安全措施,用于验证数据的完整性和发送者的身份。在这个场景下,我们讨论的是如何使用C#语言实现HMAC-SHA1算法进行签名,这通常涉及到SDK的开发和鉴权过程。 HMAC(Hash-based ...

    md5+sha1摘要校验工具

    在IT领域,数据完整性与...它利用了MD5和SHA1这两种经典哈希算法,通过简单的命令操作就能获取文件的摘要值,进而判断文件是否保持原样。然而,随着技术的发展,对于高度安全的应用场景,应考虑使用更先进的哈希算法。

    sha1算法demo

    SHA1(Secure Hash Algorithm 1)是一种广泛使用的散列函数,属于消息摘要算法。它将任意长度的输入(也称为预映射)转换为固定长度的输出,通常是一个160位(20字节)的散列值,通常表示为40个十六进制数字。SHA1...

    SHA-1_hashsha-1_sha-1_SHA-1算法的C语言实现_

    这篇实验内容主要关注SHA-1算法的C语言实现,这是一种基础但重要的技能,因为理解并实现哈希函数可以帮助学习者深入理解其工作原理。C语言由于其底层特性和效率,常被用于编写这样的核心算法。 SHA-1算法的执行过程...

    sha 算法c语言实现

    SHA算法有多个版本,包括SHA-1和SHA-2家族,其中SHA-2又分为SHA-224, SHA-256, SHA-384, 和 SHA-512。 在标题“SHA算法C语言实现”中,我们关注的是如何使用C语言编写代码来实现SHA算法。C语言是一种底层、通用且...

Global site tag (gtag.js) - Google Analytics