⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _nullkey.cs

📁 本源码为OpenNETCF源代码
💻 CS
字号:
//http://www.phdcc.com/cryptorc4.htm
using System;

namespace OpenNETCF.Security.Cryptography.NativeMethods
{
	public class NullKey
	{
		//The example needs (MS Enhanced Crypto Service Provider) 128 bit encryption 
		//to work and will only work with a 16 byte (128 bit) RC4 key; 
		//it will not work with smaller key lengths. 
		//However if you only have or select the MS Basic Crypto Service Provider
		//then the code will work (and only work) with 5 byte (40 bit) keys.

		// This is a PRIVATEKEYBLOB blob with an exponent of one keypair,
		// ie it allows keys to be exported/imported without changing the key data.
		public static byte [] PrivateKeyWithExponentOfOne =
		{
			0x07, 0x02, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00,
			0x52, 0x53, 0x41, 0x32, 0x00, 0x02, 0x00, 0x00,
			0x01, 0x00, 0x00, 0x00, 0xAB, 0xEF, 0xFA, 0xC6,
			0x7D, 0xE8, 0xDE, 0xFB, 0x68, 0x38, 0x09, 0x92,
			0xD9, 0x42, 0x7E, 0x6B, 0x89, 0x9E, 0x21, 0xD7,
			0x52, 0x1C, 0x99, 0x3C, 0x17, 0x48, 0x4E, 0x3A,
			0x44, 0x02, 0xF2, 0xFA, 0x74, 0x57, 0xDA, 0xE4,
			0xD3, 0xC0, 0x35, 0x67, 0xFA, 0x6E, 0xDF, 0x78,
			0x4C, 0x75, 0x35, 0x1C, 0xA0, 0x74, 0x49, 0xE3,
			0x20, 0x13, 0x71, 0x35, 0x65, 0xDF, 0x12, 0x20,
			0xF5, 0xF5, 0xF5, 0xC1, 0xED, 0x5C, 0x91, 0x36,
			0x75, 0xB0, 0xA9, 0x9C, 0x04, 0xDB, 0x0C, 0x8C,
			0xBF, 0x99, 0x75, 0x13, 0x7E, 0x87, 0x80, 0x4B,
			0x71, 0x94, 0xB8, 0x00, 0xA0, 0x7D, 0xB7, 0x53,
			0xDD, 0x20, 0x63, 0xEE, 0xF7, 0x83, 0x41, 0xFE,
			0x16, 0xA7, 0x6E, 0xDF, 0x21, 0x7D, 0x76, 0xC0,
			0x85, 0xD5, 0x65, 0x7F, 0x00, 0x23, 0x57, 0x45,
			0x52, 0x02, 0x9D, 0xEA, 0x69, 0xAC, 0x1F, 0xFD,
			0x3F, 0x8C, 0x4A, 0xD0,

			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

			0x64, 0xD5, 0xAA, 0xB1,
			0xA6, 0x03, 0x18, 0x92, 0x03, 0xAA, 0x31, 0x2E,
			0x48, 0x4B, 0x65, 0x20, 0x99, 0xCD, 0xC6, 0x0C,
			0x15, 0x0C, 0xBF, 0x3E, 0xFF, 0x78, 0x95, 0x67,
			0xB1, 0x74, 0x5B, 0x60,

			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		};

		public static byte [] SimpleBlobRC4KeyTemplate =
		{
			0x01, 0x02, 0x00, 0x00,        // BLOBHEADER bType, bVersion, reserved
			0x01, 0x68, 0x00, 0x00,        // BLOBHEADER aiKeyAlg: CALG_RC4
			0x00, 0xA4, 0x00, 0x00,        // algid used to encrypt blob: CALG_RSA_KEYX
			// Rest is a PKCS #1, type 2 encryption block:
			// For MS Base CP this is always 512 bits (64 bytes)
			0x0F, 0x0E, 0x0D, 0x0C,        // Key Material: 16 byte actual RC4 key goes in reverse from here
			0x0B, 0x0A, 0x09, 0x08,
			0x07, 0x06, 0x05, 0x04,
			0x03, 0x02, 0x01, 0x00,        // to here (15 to 0 countdown)
			0x00, 0x3D, 0xB5, 0xE1,        // Zero then Random non-zero padding..
			0x5B, 0x27, 0x13, 0x36,
			0x69, 0x9B, 0x56, 0xA9,
			0x52, 0x98, 0x5B, 0xA9,
			0x17, 0x24, 0x1D, 0x1A,
			0x2B, 0x9C, 0xE7, 0x35,
			0x3C, 0xC9, 0xD6, 0xE1,
			0xD7, 0x70, 0xCC, 0x70,
			0x94, 0x6B, 0x90, 0xD0,
			0x7E, 0x92, 0x2E, 0x5C,
			0x80, 0xDB, 0xE5, 0x2D,
			0x60, 0x75,                    // ..Padding
			0x02, 0x00,                    // Block type; reserved
		};
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -