5 std::string hash(const std::string input);
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))