c++如何用boost制作简单的sha256生成器
C++ how to make simple sha256 generator with boost?
我需要一个简单的字符串sha256生成器类。我不想为像openSSL或cripto++这样的大型库构建-我想要的只是将字符串转换为sha256。如何创建这样的类,或者从哪里得到它?
就像其他人说的那样,我的印象是SHA256下的哈希并不是简单地实现自己作为一个更大的编码项目的子集。如果您查看一下SHA-2的wikipedia页面,您将注意到一些非常复杂的数学问题。如果您想要实际的加密摘要(数学理论本身),可以在这里找到。如果您像大多数不重视安全性的程序员一样,那么您可能希望简单地使用其他人经过测试和尝试的实现。你可以在这里找到一些。如果这有帮助,请告诉我。对不起,我不能用直接的代码或类似的东西来回答你的问题。
您可以直接在RFC 6234的第8节中找到C源代码。确保你也检查了勘误表
你想要这个?
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
注意,它没有很多文档。它是为那些已经知道自己在做什么的人设置的。
GNU coretils有一个非常简单的源代码。只要下载coretils,他们甚至有一个测试套件,你可以构建,源代码充满了注释和文档。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的简单if-else语句是如何无法访问的代码
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 一种在C++中读取TXT配置文件的简单方法
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 显示错误输出的简单数组排序程序
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 退出简单while循环时出现问题
- 为什么简单的算术减法在"if"条件下不起作用?
- C++-字符串是否包含一个带有简单循环的单词
- 关于 c++ 函数中指针赋值的简单问题
- 从函数返回任意简单类型的数据
- 如何在没有函数的情况下编写此代码并使C++更简单?
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- c++如何用boost制作简单的sha256生成器