Hallo Kolleginnen und Programmierern,Verschlüsseln/Entschlüsseln zwischen iOS (swift3), Android und PHP
Es geht um ios (swift3) Verschlüsselung/Entschlüsselung: Ich bin ein ios schneller Anfänger. Ich folgte einem Tutorial unter https://www.funboxpower.com/php_android_ios_aes, um die Ver-/Entschlüsselung zwischen Android und PHP abzuschließen.
Jetzt möchte ich auf iOS (swift3) das gleiche zu tun, der Autor erwähnt ios (Objekt-c) Verfahren wie dieses Wanted Compatible AES code Encrypt/Decrypt for Iphone, Android, Windows/XP
so finde ich CryptoSwift und es mir helfen, meine Zeichenfolge zu verschlüsseln. aber das Ergebnis ist nicht dasselbe wie Android und PHP. Wie kann ich iOS (Swift3) mit CryptoSwift zum Verschlüsseln/Entschlüsseln verwenden wie das Tutorial (Android/PHP)? Hier
ist der Code für die Verschlüsselung auf Swift:
import CryptoSwift
class LoginViewController: UIViewController {
@IBAction func loginAction(sender: AnyObject) {
let account = self.accountTextField.text
let password = self.passwordTextField.text
let key = "itakeylengthtotalis32keykeykey00"
let iv = "0000000000000000"
let encryptedAccount = try! account?.aesEncrypt(key:key, iv: iv)
let encryptedPassword = try! password?.aesEncrypt(key:key, iv: iv)
//result here ------------------------------
print("encryptedAccount: " + encryptedAccount!)
print("encryptedPassword: " + encryptedPassword!)
}
}
extension String {
func aesEncrypt(key: String, iv: String) -> String? {
var result: String?
do {
// 用UTF8的编碼方式將字串轉成Data/use Data func for a UT8 string
let data: Data = self.data(using: String.Encoding.utf8, allowLossyConversion: true)!
// 用AES的方式將Data加密/use AES to encrypt Data
let aecEnc: AES = try AES(key: key, iv: iv, blockMode: .CBC, padding:PKCS7())
let enc = try aecEnc.encrypt(data.bytes)
// 使用Base64編碼方式將Data轉回字串/use Base64 to encode string
let encData: Data = Data(bytes: enc, count: enc.count)
result = encData.base64EncodedString()
} catch {
print("\(error.localizedDescription)")
}
return result
}
Sie können [RNCryptor] (https://github.com/RNCryptor) anzeigen. Viele Sprachen sind abgedeckt. Sie können dies also in Ihrem 'Swift',' Java' und 'PHP' problemlos und mit nahezu gleicher Funktionalität verwenden. – nayem
Haben Sie Code zum Verschlüsseln und Entschlüsseln von Swift gefunden? –