kdf2.cpp
来自「含有多种公开密钥算法、多种块加密、多种数据流加密、多种HASH函数、多种Chec」· C++ 代码 · 共 45 行
CPP
45 行
/************************************************** KDF2 Source File ** (C) 1999-2002 The Botan Project **************************************************/#include <botan/kdf2.h>#include <botan/lookup.h>namespace Botan {/************************************************** KDF2 Key Derivation Mechanism **************************************************/SymmetricKey KDF2::derive(const byte in[], u32bit length, u32bit out_len) const { SecureVector<byte> output; u32bit counter = 1; while(out_len) { hash->update(in, length); for(u32bit j = 0; j != 4; j++) hash->update(get_byte(j, counter)); hash->update(P); SecureVector<byte> hash_result = hash->final(); u32bit added = std::min(hash_result.size(), out_len); output.append(hash_result, added); out_len -= added; counter++; } return SymmetricKey(output); }/************************************************** KDF2 Constructor **************************************************/KDF2::KDF2(const std::string& hash_name, const std::string& Pstr) : P(Pstr) { hash = get_hash(hash_name); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?