string Encryption and decryption problem
-
I am using below code to encrypt and decrypt querystring value .it works fine but it show nullrefrence exception when some works not performed in mysite for more than 15-20 minute. it shows savedKey and savedIV must be non-null." error I am not analyzing why this error occur . private static byte[] savedKey = null; private static byte[] savedIV = null; public static byte[] key { get { return savedKey; } set { savedKey = value; } } public static byte[] IV { get { return savedIV; } set { savedIV = value; } } private static void rdGenerateSecretKey(RijndaelManaged rdProvider) { if (savedKey == null) { rdProvider.KeySize = 256; rdProvider.GenerateKey(); savedKey = rdProvider.Key; } } private static void rdGenerateSecreInitVector(RijndaelManaged rdProvider) { if (savedIV == null) { rdProvider.GenerateIV(); savedIV = rdProvider.IV; } } public static string Encrypt(string originalStr) { Random RandNum = new Random(); int RandomNumber = RandNum.Next(1000000, 9999999); originalStr = String.Format("{0}&Random={1}", originalStr, RandomNumber.ToString()); //encode data string to be stored in memory byte[] originalStrAsBytes = Encoding.ASCII.GetBytes(originalStr); byte[] originalBytes = { }; // create memory stream to contain output. using (MemoryStream memStream = new MemoryStream(originalStrAsBytes.Length)) { using (RijndaelManaged rijndel = new RijndaelManaged()) { // generate secret ket and save in to vector. rdGenerateSecretKey(rijndel); rdGenerateSecreInitVector(rijndel); if (savedKey == null || savedIV == null) { throw (new NullReferenceException("savedKey and savedIV must be non-null.")); } // Create Encrypt and Stream Objects. using (ICryptoTransform rdTransform=rijndel.CreateEncryptor((byte[]) savedKey.Clone(),(byte[]) savedIV.Clone())) {
-
I am using below code to encrypt and decrypt querystring value .it works fine but it show nullrefrence exception when some works not performed in mysite for more than 15-20 minute. it shows savedKey and savedIV must be non-null." error I am not analyzing why this error occur . private static byte[] savedKey = null; private static byte[] savedIV = null; public static byte[] key { get { return savedKey; } set { savedKey = value; } } public static byte[] IV { get { return savedIV; } set { savedIV = value; } } private static void rdGenerateSecretKey(RijndaelManaged rdProvider) { if (savedKey == null) { rdProvider.KeySize = 256; rdProvider.GenerateKey(); savedKey = rdProvider.Key; } } private static void rdGenerateSecreInitVector(RijndaelManaged rdProvider) { if (savedIV == null) { rdProvider.GenerateIV(); savedIV = rdProvider.IV; } } public static string Encrypt(string originalStr) { Random RandNum = new Random(); int RandomNumber = RandNum.Next(1000000, 9999999); originalStr = String.Format("{0}&Random={1}", originalStr, RandomNumber.ToString()); //encode data string to be stored in memory byte[] originalStrAsBytes = Encoding.ASCII.GetBytes(originalStr); byte[] originalBytes = { }; // create memory stream to contain output. using (MemoryStream memStream = new MemoryStream(originalStrAsBytes.Length)) { using (RijndaelManaged rijndel = new RijndaelManaged()) { // generate secret ket and save in to vector. rdGenerateSecretKey(rijndel); rdGenerateSecreInitVector(rijndel); if (savedKey == null || savedIV == null) { throw (new NullReferenceException("savedKey and savedIV must be non-null.")); } // Create Encrypt and Stream Objects. using (ICryptoTransform rdTransform=rijndel.CreateEncryptor((byte[]) savedKey.Clone(),(byte[]) savedIV.Clone())) {