Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. using System;
  2. using System.Security.Cryptography;
  3. using System.Text;
  4.  
  5. namespace ConsoleApp1
  6. {
  7. class Program
  8. {
  9.  
  10. private static RSAParameters PublicKey { get; set; }
  11. private static RSAParameters PrivateKey { get; set; }
  12.  
  13. static void Main(string[] args)
  14. {
  15. GenerateKey();
  16.  
  17. var message = "this is a test";
  18. byte[] encrypted = Encrypt(Encoding.UTF8.GetBytes(message));
  19. byte[] decrypted = Decrypt(encrypted);
  20.  
  21. Console.WriteLine("Original: " + message + "\n");
  22. Console.WriteLine("Encrypted: " + BitConverter.ToString(encrypted) + "\n");
  23. Console.WriteLine("Decrypted: " + Encoding.UTF8.GetString(decrypted));
  24.  
  25. Console.ReadLine();
  26. }
  27.  
  28.  
  29. public static void GenerateKey()
  30. {
  31. using (var rsa = new RSACryptoServiceProvider(2048))
  32. {
  33. rsa.PersistKeyInCsp = false;
  34. PublicKey = rsa.ExportParameters(false);
  35. PrivateKey = rsa.ExportParameters(true);
  36. }
  37. }
  38.  
  39. public static byte[] Encrypt(byte[] input)
  40. {
  41. byte[] encrypted;
  42. using (var rsa = new RSACryptoServiceProvider(2048))
  43. {
  44. rsa.PersistKeyInCsp = false;
  45. rsa.ImportParameters(PublicKey);
  46. encrypted = rsa.Encrypt(input, true);
  47. }
  48.  
  49. return encrypted;
  50. }
  51.  
  52. public static byte[] Decrypt(byte[] input)
  53. {
  54. byte[] decrypted;
  55. using (var rsa = new RSACryptoServiceProvider(2048))
  56. {
  57. rsa.PersistKeyInCsp = false;
  58. rsa.ImportParameters(PrivateKey);
  59. decrypted = rsa.Decrypt(input, true);
  60. }
  61. return decrypted;
  62. }
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement