コード例 #1
0
        public SignedPrivateApiRequest SignRequest(PrivateApiRequest request, long nonce)
        {
            string signableString = request.FormatIntoSignableString(nonce);
            var    signature      = SigningExtensions.SignStringUsingSha512(signableString,
                                                                            currentRsaParameters);

            return(new SignedPrivateApiRequest(request, signature, nonce));
        }
コード例 #2
0
        public void SignStringWithSha512AndVerfiy()
        {
            const string Content = "Hello World";
            var          contentSignatureData = SigningExtensions.SignStringUsingSha512(Content,
                                                                                        TestData.Credentials.PrivateRsaParameters);

            using (var rsa = RSA.Create())
            {
                rsa.ImportParameters(TestData.ClientPublicRsaParameters);
                var  contentData      = Encoding.UTF8.GetBytes(Content);
                bool isValidSignature = rsa.VerifyData(contentData, contentSignatureData,
                                                       HashAlgorithmName.SHA512, RSASignaturePadding.Pkcs1);
                Assert.That(isValidSignature, Is.True);
            }
        }
コード例 #3
0
 public static ProofBranch MakeBranch(string obj1, string obj2, decimal balance1, decimal balance2, List <ProofUser> us)
 => new ProofBranch(SigningExtensions.HashSHA1(obj1 +
                                               SigningExtensions.DecimalToString(balance1) + obj2 +
                                               SigningExtensions.DecimalToString(balance2)), balance1 + balance2, us);
コード例 #4
0
 public string GetHash()
 => SigningExtensions.HashSHA256(name + SigningExtensions.DecimalToString(balance));