C\#에서 RSA 암호 화 와 복호화 의 인 스 턴 스 상세 설명

1.  RSA 암호 화 및 복호화  --  공개 키 암호 화,비밀 키 복호화 사용

public class RSATool
 {
  public string Encrypt(string strText, string strPublicKey)
  {
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
   rsa.FromXmlString(strPublicKey);
   byte[] byteText = Encoding.UTF8.GetBytes(strText);
   byte[] byteEntry = rsa.Encrypt(byteText, false);
   return Convert.ToBase64String(byteEntry);
  }
  public string Decrypt(string strEntryText,string strPrivateKey)
  {
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
   rsa.FromXmlString(strPrivateKey);
   byte[] byteEntry = Convert.FromBase64String(strEntryText);
   byte[] byteText = rsa.Decrypt(byteEntry, false);
   return Encoding.UTF8.GetString(byteText);
  }
  public Dictionary<string,string> GetKey()
  {
   Dictionary<string, string> dictKey = new Dictionary<string, string>();
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
   dictKey.Add("PublicKey", rsa.ToXmlString(false));
   dictKey.Add("PrivateKey", rsa.ToXmlString(true));
   return dictKey;
  }
 }
테스트:

RSATool myRSA = new RSATool();
   Dictionary<string, string> dictK = new Dictionary<string, string>();
   dictK = myRSA.GetKey();
   string strText = "123456";
   Console.WriteLine("        :{0}", strText);
   string str1 = myRSA.Encrypt("123456", dictK["PublicKey"]);
   Console.WriteLine("       :{0}", str1);
   string str2 = myRSA.Decrypt(str1, dictK["PrivateKey"]);
   Console.WriteLine("       :{0}", str2);

2.  RSA 암호 화 및 복호화  --  같은 키 용 기 를 사용 하여 암호 화 및 복호화

 public class RSAToolX
 {
  public string Encrypt(string strText)
  {
   CspParameters CSApars = new CspParameters();
   CSApars.KeyContainerName = "Test001";
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);
   byte[] byteText = Encoding.UTF8.GetBytes(strText);
   byte[] byteEntry = rsa.Encrypt(byteText, false);
   return Convert.ToBase64String(byteEntry);
  }
  public string Decrypt(string strEntryText)
  {
   CspParameters CSApars = new CspParameters();
   CSApars.KeyContainerName = "Test001";
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);
   byte[] byteEntry = Convert.FromBase64String(strEntryText);
   byte[] byteText = rsa.Decrypt(byteEntry, false);
   return Encoding.UTF8.GetString(byteText);
  }
 }
테스트:

RSAToolX myRSA = new RSAToolX();
   string strText = "123456";
   Console.WriteLine("        :{0}", strText);
   string str1 = myRSA.Encrypt("123456");
   Console.WriteLine("       :{0}", str1);
   string str2 = myRSA.Decrypt(str1);
   Console.WriteLine("       :{0}", str2);

총결산
위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 C\#에서 RSA 암호 화 와 복호화 의 실례 를 상세 하 게 설명 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 제때에 여러분 에 게 답장 을 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기