示例#1
0
        public void EncryptDecrypt(string originalString, SM2Mode mode)
        {
            var encStr     = SM2EncryptionProvider.EncryptByPublicKey(originalString, PubKey, mode: mode);
            var decodedStr = SM2EncryptionProvider.DecryptByPrivateKey(encStr, PriKey, mode: mode);

            Assert.Equal(originalString, decodedStr);
        }
示例#2
0
        public void EncryptDecryptWithGenKey(string originalString, SM2Mode mode)
        {
            var key        = SM2EncryptionProvider.CreateKey();
            var encStr     = SM2EncryptionProvider.EncryptByPublicKey(originalString, key.PublicKey, mode: mode);
            var decodedStr = SM2EncryptionProvider.DecryptByPrivateKey(encStr, key.PrivateKey, mode: mode);

            Assert.Equal(originalString, decodedStr);
        }
示例#3
0
        public void Signature(/*string originalString*/)
        {
            string originalString = "Hello World";

            byte[] sourceData  = Encoding.UTF8.GetBytes(originalString);
            var    userId      = "*****@*****.**";
            var    userIdBytes = Encoding.UTF8.GetBytes(userId);
            // var pubkS = Hex.Decode(Encoding.UTF8.GetBytes(PubKey)); // Encoding.UTF8.GetBytes(StringToHexString(PubKey, Encoding.UTF8));
            // byte[] c = SM2EncryptionProvider.Signature(sourceData, Encoding.UTF8.GetBytes(userId), pubkS);
            // var prikS = Hex.Decode(Encoding.UTF8.GetBytes(PriKey)); // Encoding.UTF8.GetBytes(StringToHexString(PriKey, Encoding.UTF8));
            //var vs = SM2EncryptionProvider.Verify(c, sourceData, Encoding.UTF8.GetBytes(userId), prikS);
            // Assert.True(vs);

            var s = SM2EncryptionProvider.Signature2(sourceData, userIdBytes, Encoding.UTF8.GetBytes(PubKey));
            var v = SM2EncryptionProvider.Verify2(userIdBytes, Encoding.UTF8.GetBytes(PriKey), sourceData, s);

            Assert.True(v);
        }