public static void byteDESEncrypt(byte[] bKey, byte[] bData, out byte[] bResult) { try { MemoryStream outStream = new MemoryStream(); DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider(); CryptoStream csMyCryptoStream; byte[] bNullVector = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; bResult = new byte[8]; if (DESCryptoServiceProvider.IsWeakKey(bKey)) { Log.Logger.MajorWarning("***DES Encrypt with weak key***"); for (int i = 0; i < 8; i++) { bResult[i] = bData[i]; } return; } outStream = new MemoryStream(bResult); desProvider.Mode = CipherMode.ECB; desProvider.Key = bKey; desProvider.IV = bNullVector; desProvider.Padding = PaddingMode.None; csMyCryptoStream = new CryptoStream(outStream, desProvider.CreateEncryptor(bKey, bNullVector), CryptoStreamMode.Write); csMyCryptoStream.Write(bData, 0, 8); csMyCryptoStream.Close(); } catch (Exception ex) { throw new Exceptions.XEncryptError(ex.Message); } }