Перенос с Java на Swift AES-шифрование / дешифрование - PullRequest
0 голосов
/ 12 февраля 2019

Я разработал приложение для Android, которое шифрует и дешифрует String с помощью режима AES / CFB / ZeroBytePadding с Cipher, инициализированным с помощью ...

private  byte [] hashKey = null;
private Cipher m_encChiper = null;
private Cipher m_decChiper = null;
private final String key = "012345678952";
private final byte initVector[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f};

.....

MessageDigest digest = MessageDigest.getInstance("SHA-256");
hashKey = digest.digest(key.getBytes("UTF-8"));

IvParameterSpec iv = new IvParameterSpec(initVector);
SecretKeySpec skeySpec = new SecretKeySpec(hashKey, "AES");

m_encChiper =   Cipher.getInstance("AES/CFB/ZeroBytePadding");//NoPadding
m_encChiper.init(Cipher.ENCRYPT_MODE, skeySpec, iv);

m_decChiper = Cipher.getInstance("AES/CFB/ZeroBytePadding");
m_decChiper.init(Cipher.DECRYPT_MODE, skeySpec, iv);

Я пытаюсь перенести этот код в Swift с помощью CryptoSwift ...

Может ли кто-нибудь помочь мне специально для этих двух строк:

IvParameterSpec iv = new IvParameterSpec(initVector);
SecretKeySpec skeySpec = new SecretKeySpec(hashKey, "AES");

Большое спасибо за любую помощь ...

...