Sep*_*ram 17 c++ string hash cryptography std
我正在做一个小工具来帮助我通过重复记住密码.我想输入密码,每天只记住一次,而不是每次会话之前.当然,我本身不会存储密码,但很乐意存储它的哈希值.
那么,std::string使用C++标准库获取哈希的最简单方法是什么?
Set*_*gie 24
对于不涉及外部库的快速解决方案,您可以使用hash<std::string>hash strings.它是通过包含头文件hash_map或unordered_map(或其他一些)来定义的.
#include <string>
#include <unordered_map>
hash<string> hasher;
string s = "heyho";
size_t hash = hasher(s);
Run Code Online (Sandbox Code Playgroud)
如果您决定要增加SHA的安全性,那么如果您不需要所有其他功能,则无需下载大型Crypto ++库; 互联网上有很多独立的实现,只需搜索"sha implementation c ++".
小智 14
使用c ++ 11,您可以:
#include <string>
#include <unordered_map>
std::size_t h1 = std::hash<std::string>{}("MyString");
std::size_t h2 = std::hash<double>{}(3.14159);
Run Code Online (Sandbox Code Playgroud)
在这里看到更多.