Link v1.0.1
[link.git] / Includes / SHA512
blob3520feb12f15e8e06e6e1c9c1c80bfea8a15d58f
1 #pragma once
2 #include <string>
4 namespace SHA512 {
5         std::string hash(const std::string input);
6 };
8 #define Ch(x,y,z) ((x&y)^(~x&z))
9 #define Maj(x,y,z) ((x&y)^(x&z)^(y&z))
10 #define RotR(x, n) ((x>>n)|(x<<((sizeof(x)<<3)-n)))
11 #define Sig0(x) ((RotR(x, 28))^(RotR(x,34))^(RotR(x, 39)))
12 #define Sig1(x) ((RotR(x, 14))^(RotR(x,18))^(RotR(x, 41)))
13 #define sig0(x) (RotR(x, 1)^RotR(x,8)^(x>>7))
14 #define sig1(x) (RotR(x, 19)^RotR(x,61)^(x>>6))