public static byte[] EncryptBytes(byte[] bytesToEncode, byte[] key) { res = bytesToEncode; var encoder = new DesEncoder(); var encodedData = encoder.Encode(bytesToEncode, key); var bytesToRemove = (byte)((8 - bytesToEncode.Length % 8) % 8); var result = new byte[encodedData.Length + 1]; result[0] = bytesToRemove; encodedData.CopyTo(result, 1); return(result); }
public static byte[] DecryptBytes(byte[] bytesToDecrypt, byte[] key) { var encoder = new DesEncoder(); int skipCount = bytesToDecrypt[0]; var dataToDecrypt = new byte[bytesToDecrypt.Length - 1]; Array.Copy(bytesToDecrypt, 1, dataToDecrypt, 0, dataToDecrypt.Length); var decodedData = encoder.Decode(dataToDecrypt, key); var result = new byte[decodedData.Length - skipCount]; Array.Copy(decodedData, 0, result, 0, result.Length); return(result); }