aboutsummaryrefslogtreecommitdiff
path: root/core/ustring.cpp
diff options
context:
space:
mode:
authorGeorge Marques2016-06-23 13:57:45 -0300
committerGeorge Marques2016-06-23 13:59:23 -0300
commit98b02209a438ddd4358eda58870100287c3924d1 (patch)
treece6e0d1d2aa06e7e33c7c606996adb254e4499b8 /core/ustring.cpp
parent60fa2b98151ae2fc87d77ef52372eec82f7754dd (diff)
downloadgodot-98b02209a438ddd4358eda58870100287c3924d1.tar.gz
godot-98b02209a438ddd4358eda58870100287c3924d1.tar.zst
godot-98b02209a438ddd4358eda58870100287c3924d1.zip
Add sha256_buffer() function to String
Diffstat (limited to 'core/ustring.cpp')
-rw-r--r--core/ustring.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/core/ustring.cpp b/core/ustring.cpp
index ea9a9d903..43e3a9a0b 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -2419,6 +2419,23 @@ Vector<uint8_t> String::md5_buffer() const {
return ret;
};
+Vector<uint8_t> String::sha256_buffer() const {
+ CharString cs = utf8();
+ unsigned char hash[32];
+ sha256_context ctx;
+ sha256_init(&ctx);
+ sha256_hash(&ctx, (unsigned char*)cs.ptr(), cs.length());
+ sha256_done(&ctx, hash);
+
+ Vector<uint8_t> ret;
+ ret.resize(32);
+ for (int i = 0; i < 32; i++) {
+ ret[i] = hash[i];
+ }
+
+ return ret;
+}
+
String String::insert(int p_at_pos,String p_string) const {