def testWeCanBindToEncodingGetString(self): """Check that we can bind to the Encoding.GetString method with variables.""" from System.Text import Encoding from System.IO import MemoryStream myBytes = Encoding.UTF8.GetBytes('Some testing string') stream = MemoryStream() stream.Write(myBytes, 0, myBytes.Length) stream.Position = 0 buff = System.Array.CreateInstance(System.Byte, 3) buff.Initialize() data = [] read = 1 while read > 0: read, _ = stream.Read(buff, 0, buff.Length) temp = Encoding.UTF8.GetString(buff, 0, read) data.append(temp) data = ''.join(data) self.assertEqual(data, 'Some testing string')
def test_we_can_bind_to_encoding_get_string(): """Check that we can bind to the Encoding.GetString method with variables.""" from System.Text import Encoding from System.IO import MemoryStream my_bytes = Encoding.UTF8.GetBytes('Some testing string') stream = MemoryStream() stream.Write(my_bytes, 0, my_bytes.Length) stream.Position = 0 buff = System.Array.CreateInstance(System.Byte, 3) buff.Initialize() data = [] read = 1 while read > 0: read = stream.Read(buff, 0, buff.Length) temp = Encoding.UTF8.GetString(buff, 0, read) data.append(temp) data = ''.join(data) assert data == 'Some testing string'
def _dotnet_decrypt(data, key): """Performs decrypting of provided encrypted data. If 'digest' is True data must be hex digest, otherwise data should be encrypted bytes. This function is symmetrical with encrypt function. """ data = Array[Byte](map(Byte, map(ord, data))) key = Array[Byte](map(Byte, key)) rm = RijndaelManaged() dec_transform = rm.CreateDecryptor(key, Array[Byte](_vector)) mem = MemoryStream() cs = CryptoStream(mem, dec_transform, CryptoStreamMode.Write) cs.Write(data, 0, data.Length) cs.FlushFinalBlock() mem.Position = 0 decrypted = Array.CreateInstance(Byte, mem.Length) mem.Read(decrypted, 0, decrypted.Length) cs.Close() utfEncoder = UTF8Encoding() return utfEncoder.GetString(decrypted)
def _dotnet_encrypt(text, key): """Performs crypting of provided text using AES algorithm. If 'digest' is True hex_digest will be returned, otherwise bytes of encrypted data will be returned. This function is symmetrical with decrypt function. """ utfEncoder = UTF8Encoding() bytes_text = utfEncoder.GetBytes(text) rm = RijndaelManaged() key = Array[Byte](key) enc_transform = rm.CreateEncryptor(key, Array[Byte](_vector)) mem = MemoryStream() cs = CryptoStream(mem, enc_transform, CryptoStreamMode.Write) cs.Write(bytes_text, 0, len(bytes_text)) cs.FlushFinalBlock() mem.Position = 0 encrypted = Array.CreateInstance(Byte, mem.Length) mem.Read(encrypted, 0, mem.Length) cs.Close() return ''.join(map(chr, encrypted))