Exemplo n.º 1
0
    public void Sha512Hash()
    {
        var sample = "yetrwfnkiofaj039tq23rkekfnaksodnfawefsq4y2up1rk";
        var key    = "oeo9ur2jowiefapwfpawkefwe0-e-0je";
        var hashed = SHA_2.Sha512Hex(sample, key);

        True(hashed == "671ea03f5c1eb5e5a9a595f862fc9af3b4686178323c7b246af5b7320912ac2599a7bf8d01b3efa1f0d63ba9ecc0e5a5214eda4f7b048be661b61692629969e7", "not match, hashed:" + hashed);
    }
Exemplo n.º 2
0
    public void Sha256Hash()
    {
        var sample = "yetrwfnkiofaj039tq23rkekfnaksodnfawefsq4y2up1rk";
        var key    = "oeo9ur2jowiefapwfpawkefwe0-e-0je";
        var hashed = SHA_2.Sha256Hex(sample, key);

        True(hashed == "e5345801e661de0bcf572e0dcf3cea9ac3328c7a2b8daded70ce4b5e8cb54186", "not match, hashed:" + hashed);
    }
Exemplo n.º 3
0
        public static string Create <T> (T body, string request) where T : new()
        {
            var headerStr  = Base64.Base64.FromString(JsonUtility.ToJson(headerStruct));
            var payloadStr = Base64.Base64.FromString(JsonUtility.ToJson(body));
            var signature  = Base64.Base64.FromBytes(SHA_2.Sha256Bytes(headerStr + "." + payloadStr, request));

            var unpaddedSignature = Base64.Base64.Unpadded(signature);

            return(headerStr + "." + payloadStr + "." + unpaddedSignature);
        }
Exemplo n.º 4
0
        public static T Read <T> (string data, string request) where T : new()
        {
            var datas = data.Split('.');

            if (datas.Length != 3)
            {
                return(new T());
            }

            var headerStr  = datas[0];
            var payloadStr = datas[1];
            var signature  = datas[2];

            var generatedSignatureBytes  = SHA_2.Sha256Bytes(headerStr + "." + payloadStr, request);
            var encodedSignature         = Base64.Base64.FromBytes(generatedSignatureBytes);
            var uppaddedEncodedSignature = Base64.Base64.Unpadded(encodedSignature);

            if (signature == uppaddedEncodedSignature)
            {
                return(JsonUtility.FromJson <T>(Base64.Base64.ConvertToStr(payloadStr)));
            }

            return(new T());           // return empty object if value is not matched with sign.
        }