LoginSignup
0
0

More than 1 year has passed since last update.

cscの作法 その222

Posted at

概要

cscの作法、調べてみた。
秘密鍵xmlファイルを読み込んで、平文を暗号化、復号してみた。

サンプルコード

using System;
using System.IO;
using System.Security.Cryptography;
using System.Collections.Generic;
using System.Text;

	class test0 {
		static void Main() {
			string encryptWord = "hogehoge2";
			var encByte = Encoding.Unicode.GetBytes(encryptWord);
			Console.WriteLine("original: " + Encoding.Unicode.GetString(encByte));
			var privateKey = File.ReadAllText("privatekey0.xml");
			byte[] encryptedByte;
			using (RSA encRsa = RSA.Create())
			{
				encRsa.FromXmlString(privateKey);
				//encryptedByte = encRsa.Encrypt(encByte, RSAEncryptionPadding.Pkcs1);
				encryptedByte = encRsa.Encrypt(encByte, RSAEncryptionPadding.OaepSHA1);
			}
			Console.WriteLine("encrypted: " + Convert.ToBase64String(encryptedByte));
			byte[] decryptedByte;
			using (RSA decRsa = RSA.Create())
			{
				decRsa.FromXmlString(privateKey);
				//decryptedByte = decRsa.Decrypt(encryptedByte, RSAEncryptionPadding.Pkcs1);
				decryptedByte = decRsa.Decrypt(encryptedByte, RSAEncryptionPadding.OaepSHA1);
			}
			var decryptedString = Encoding.Unicode.GetString(decryptedByte);
			Console.WriteLine("Decrypt: " + decryptedString);
			Console.WriteLine("ok");
		}
	}

実行結果

>ras1
original: hogehoge2
encrypted: jTADHI2k148RoYao7JyPRJ9rHanrbPskm1pHx9Vt6iTfVq5xfvzwmCzDKMvMgiRBS+7UONWo+fywnX4pjMYvBmRMQWJ0mpJOCCqRluSynqDUT5hWlMnZs9ozTyOnHYcO64Epu/R4TScUffa3ySifdpK8IsEbPp+Ae5npWgr6oL1Uhh9sMiamDRBxuXcn7X51TorUpgat/hWNwxe0XPh8eJqVedmQjsFVng7lapg5lbgPL04XRboVZMhupZeq+510b6hro3auotqoKQ/N7+eSdgz7Uh3+zBn9L3J5xmTqwCSCq0b/crg1egHqholFOWzbTD0xgSAgOEs9d0c498HCzK+i64Q3G1GTKZbxfNm6QYvzthYmAXJ5ed4LynTg3zYyn+1/jMUC5j2ZbI2DmNgTW3nGgwr2erRf2hA36hWT4PqBVtm8EqT/9CElf/8riY0Dkl/H0w58a0KG81U5kpsOJ2CQsIg2b9ltWZf9vmbYG5lkOyMXD4F4xjWc5PchmLIiH+bxdvO8Hmbej+fcOt8TsjZufuX8SzFMlMJJUyMhwbbhL+kG8Nd5X0lMPjw3uKmnYymxYXS2DLGFI2bzRpSlT8fTGqCk2FWg1X5q5dzmu5xJeZIZ1Ib6riWEq2mMIRE8HDFMAqnt0bwXqNoZ+GhqnGwpv1WzKYwubbQDHGzMirk=
Decrypt: hogehoge2
ok

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0