Untitled
unknown
plain_text
a year ago
2.9 kB
10
Indexable
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;
using NJsonSchema;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using System.Xml.Serialization;
using IdentityModel;
using System.Runtime.CompilerServices;
using System.ComponentModel;
using System;
using System.Reflection.Metadata;
using Microsoft.VisualBasic;
using System.Buffers;
using System.Collections.Generic;
using System.IO.Compression;
using System.Linq.Expressions;
using ConsoleApp1;
using System.Net.Sockets;
using OfficeOpenXml;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using System.Net.Http.Headers;
using System.Net.Mail;
using System.Globalization;
public static async Task Main()
{
using RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
string publicKeyBase64 = @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDirMTuNWDWnn5jK7TaLDae37eJExUEKX8g+w+hQsbbIimXs9ix8RveG9XNWStjSPxg1Srr5Hul7SvbV9gcgYXbX06/X8w90OgeA8JyEy2ZUx7PIU52ISxWodYPEWgEeWRVbogWD6sXsCESSUJktjMhkqSRKcArIMPbdqAPQK6rdQIDAQAB";
LoginModel userLogin = new LoginModel()
{
CreateDate = DateTime.UtcNow,
AgencyCode = "8d003b",
UserCode = "9f4b54",
};
string rawData = JsonConvert.SerializeObject(userLogin);
string encrypted = AsymmetricEncryptionManager.Encrypt(rawData, publicKeyBase64);
string token = publicKeyBase64 + encrypted;
}
public static class AsymmetricEncryptionManager
{
public static string Encrypt(string data, string publicKeyBase64)
{
using (RSACryptoServiceProvider rsaCryptoServiceProvider = new RSACryptoServiceProvider())
{
byte[] publicKeyBytes = Convert.FromBase64String(publicKeyBase64);
rsaCryptoServiceProvider.ImportSubjectPublicKeyInfo(publicKeyBytes, out _); // .ImportRSAPublicKey(publicKeyBytes, out _);
byte[] byteData = Encoding.UTF8.GetBytes(data);
byte[] encryptedData = rsaCryptoServiceProvider.Encrypt(byteData, false);
return Convert.ToBase64String(encryptedData);
}
}
public static string Decrypt(string cipherText, string privateKeyBase64)
{
using (RSACryptoServiceProvider rsaCryptoServiceProvider = new RSACryptoServiceProvider())
{
byte[] privateKeyBytes = Convert.FromBase64String(privateKeyBase64);
rsaCryptoServiceProvider.ImportRSAPrivateKey(privateKeyBytes, out _);
byte[] cipherDataAsByte = Convert.FromBase64String(cipherText);
byte[] encryptedData = rsaCryptoServiceProvider.Decrypt(cipherDataAsByte, false);
return Encoding.UTF8.GetString(encryptedData);
}
}
}Editor is loading...
Leave a Comment