def test_aes(self): crypto.DEBUG = True crypto.encrypt("this is a test", Random.bytes(32)) crypto.encrypt("this is a longer test with more than 16bytes", Random.bytes(32)) crypto.encrypt("", Random.bytes(32)) crypto.encrypt(convert.latin12unicode(b"testing accented char àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"), Random.bytes(32)) crypto.encrypt("testing accented char àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ", Random.bytes(32))
def write(self, data): if not self.parent.exists: self.parent.create() with open(self._filename, "wb") as f: if isinstance(data, list) and self.key: from pyLibrary.debugs.logs import Log Log.error("list of data and keys are not supported, encrypt before sending to file") if isinstance(data, list): pass elif isinstance(data, basestring): data=[data] elif hasattr(data, "__iter__"): pass for d in data: if not isinstance(d, unicode): from pyLibrary.debugs.logs import Log Log.error("Expecting unicode data only") if self.key: f.write(crypto.encrypt(d, self.key).encode("utf8")) else: f.write(d.encode("utf8"))
def write(self, data): if not self.parent.exists: self.parent.create() with open(self._filename, "wb") as f: if isinstance(data, list) and self.key: from pyLibrary.debugs.logs import Log Log.error( "list of data and keys are not supported, encrypt before sending to file" ) if isinstance(data, list): pass elif isinstance(data, basestring): data = [data] elif hasattr(data, "__iter__"): pass for d in data: if not isinstance(d, unicode): from pyLibrary.debugs.logs import Log Log.error("Expecting unicode data only") if self.key: f.write(crypto.encrypt(d, self.key).encode("utf8")) else: f.write(d.encode("utf8"))
def test_aes_on_char(self): key = convert.base642bytearray(u'nm5/wK20R45AUtetHJwHTdOigvGTxP7NcH/41YE8AZo=') encrypted = crypto.encrypt("kyle", key, salt=convert.base642bytearray("AehqWt1OdEgPJhCx6uylyg==")) self.assertEqual(encrypted, u'{"type": "AES256", "length": 4, "salt": "AehqWt1OdEgPJhCx6uylyg==", "data": "FXUGxdb9E+4UCKwsIT9ugQ=="}')
def test_aes_nothing(self): key = convert.base642bytearray(u'nm5/wK20R45AUtetHJwHTdOigvGTxP7NcH/41YE8AZo=') encrypted = crypto.encrypt("", key, salt=convert.base642bytearray("AehqWt1OdEgPJhCx6uylyg==")) self.assertEqual(encrypted, u'{"type": "AES256", "length": 0, "salt": "AehqWt1OdEgPJhCx6uylyg=="}')