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); }
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); }
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); }
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. }