diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2019-07-02 16:07:02 +0200 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2019-07-03 18:42:46 +0200 |
commit | 6c512e21a981cbbad93cc0ed6ec718105876f367 (patch) | |
tree | 8cc5107934ddce8384ef459ed26234eebb67f886 /core/ustring.cpp | |
parent | a3bdb6c8d83d424da664ea8c4ee680a9b67e1b30 (diff) | |
download | redot-engine-6c512e21a981cbbad93cc0ed6ec718105876f367.tar.gz |
Add sha1 functions to string (using new CryptoCore)
Diffstat (limited to 'core/ustring.cpp')
-rw-r--r-- | core/ustring.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/ustring.cpp b/core/ustring.cpp index 2b312191e2..21ac304a1b 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -2257,6 +2257,13 @@ String String::md5_text() const { return String::hex_encode_buffer(hash, 16); } +String String::sha1_text() const { + CharString cs = utf8(); + unsigned char hash[20]; + CryptoCore::sha1((unsigned char *)cs.ptr(), cs.length(), hash); + return String::hex_encode_buffer(hash, 20); +} + String String::sha256_text() const { CharString cs = utf8(); unsigned char hash[32]; @@ -2278,6 +2285,20 @@ Vector<uint8_t> String::md5_buffer() const { return ret; }; +Vector<uint8_t> String::sha1_buffer() const { + CharString cs = utf8(); + unsigned char hash[20]; + CryptoCore::sha1((unsigned char *)cs.ptr(), cs.length(), hash); + + Vector<uint8_t> ret; + ret.resize(20); + for (int i = 0; i < 20; i++) { + ret.write[i] = hash[i]; + } + + return ret; +} + Vector<uint8_t> String::sha256_buffer() const { CharString cs = utf8(); unsigned char hash[32]; |