NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
sha1.hpp
浏览该文件的文档.
1#ifndef NEFORCE_CORE_ENCRYPT_SHA1_HPP__
2#define NEFORCE_CORE_ENCRYPT_SHA1_HPP__
3
11
14NEFORCE_BEGIN_NAMESPACE__
15
20
77
86struct NEFORCE_API SHA1 {
93
99 static string hash_hex(cbyte_view data);
100};
101
102
109NEFORCE_ALWAYS_INLINE_INLINE string sha1(const string_view data) {
110 const byte_vector h = SHA1::hash({reinterpret_cast<const byte_t*>(data.data()), data.size()});
111 return string{reinterpret_cast<const char*>(h.data()), h.size()};
112}
113
119NEFORCE_ALWAYS_INLINE_INLINE string sha1(const string& data) { return _NEFORCE sha1(data.view()); }
120
126NEFORCE_ALWAYS_INLINE_INLINE byte_vector sha1(const cbyte_view data) { return SHA1::hash(data); }
127
133NEFORCE_ALWAYS_INLINE_INLINE byte_vector sha1(const byte_vector& data) { return SHA1::hash(data.view()); }
134 // SHA1
136 // Encryption
138
139NEFORCE_END_NAMESPACE__
140#endif // NEFORCE_CORE_ENCRYPT_SHA1_HPP__
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 size_type size() const noexcept
获取当前元素数量
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 pointer data() noexcept
获取底层数据指针
vector< byte_t > byte_vector
字节向量类型别名
unsigned char byte_t
字节类型,定义为无符号字符
memory_view< const byte_t > cbyte_view
常量字节视图类型别名
NEFORCE_ALWAYS_INLINE_INLINE string sha1(const string_view data)
SHA-1哈希便捷函数(字符串视图版本)
basic_string_view< char > string_view
字符字符串视图
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr decltype(auto) data(Container &cont) noexcept(noexcept(cont.data()))
获取容器的底层数据指针
字符串类型别名和实用函数
SHA-1哈希算法结构体
static string hash_hex(cbyte_view data)
计算SHA-1哈希值的十六进制表示
static byte_vector hash(cbyte_view data)
计算SHA-1哈希值
动态大小数组容器