Jelajahi Sumber

Update AES part of README

Marcin Krzyżanowski 10 tahun lalu
induk
melakukan
c02118c595
1 mengubah file dengan 10 tambahan dan 13 penghapusan
  1. 10 13
      README.md

+ 10 - 13
README.md

@@ -113,7 +113,7 @@ if let hash = "123".md5() {
 Some content-encryption algorithms assume the input length is a multiple of k octets, where k is greater than one. For such algorithms, the input shall be padded.
 
 ```swift
-let paddedData = PKCS7(data: dataToEncrypt).addPadding(AES.blockSizeBytes())
+let paddedData = PKCS7().add(bytes, AES.blockSize)
 ```
 
 Working with Ciphers
@@ -121,8 +121,8 @@ Working with Ciphers
 ChaCha20
 
 ```swift
-let chacha20Encrypted = Cipher.ChaCha20(key: keyData, iv: ivData).encrypt(dataToEncrypt)
-let decryptedChaCha20 = Cipher.ChaCha20(key: keyData, iv: ivData).decrypt(encryptedData)
+let encrypted = Cipher.ChaCha20(key: key, iv: iv).encrypt(message)
+let decrypted = Cipher.ChaCha20(key: key, iv: iv).decrypt(encrypted)
 ```
 
 AES
@@ -130,20 +130,17 @@ AES
 Notice regarding padding: *Manual padding of data is optional and CryptoSwift by default always will add PKCS7 padding before encryption, and remove after decryption when __Cipher__ enum is used. If you need manually disable/enable padding, you can do this by setting parameter for encrypt()/decrypt() on class __AES__.*
 
 ```swift
-// 1. Add padding (Optional)
-let plaintextData = PKCS7(data: plaintextData).addPadding(AES.blockSizeBytes())
 
-// 2. Encrypt with key and random IV
-let keyData = NSData.withBytes([0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00])
-let ivData:NSData = Cipher.randomIV(keyData)
+// 1. set key and random IV
+let key = [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00] as [UInt8]
+let iv = Cipher.randomIV(AES.blockSize)
 
-let encryptedData = Cipher.AES(key: keyData, iv: ivData, blockMode: .CBC).encrypt(plaintextData)
+// 2. encrypt
+let encrypted = AES(key: key, iv: iv, blockMode: .CBC)?.encrypt(message, padding: PKCS7())
 	
-// 3. decrypt with key and IV
-let decryptedData = Cipher.AES(key: keyData, iv: ivData, blockMode: .CBC).decrypt(encryptedData)
+// 3. decrypt with the same key and IV
+let decrypted = AES(key: key, iv: iv, blockMode: .CBC)?.decrypt(encryptedData, padding: PKCS7())
 	
-// 4. remove padding ONLY IF applied earlier (Optional)
-let plaintextData = PKCS7(data: decryptedData).removePadding()	
 ```
 	
 AES without data padding