gpt4 book ai didi

ios - 在 iOS(swift3)、Android 和 PHP 之间加密/解密

转载 作者:行者123 更新时间:2023-11-28 08:06:38 25 4
gpt4 key购买 nike

各位程序员大家好,

关于 ios(Swift3) 加密/解密:我是 ios 快速初学者。我遵循了 https://www.funboxpower.com/php_android_ios_aes 上的教程完成Android和PHP之间的加密/解密。

现在我想在 iOS(Swift3) 上做同样的事情,作者提到 ios(object-c) 方法是这样的 Wanted Compatible AES code Encrypt/Decrypt for Iphone, Android, Windows/XP

所以我找到CryptoSwift它帮助我加密我的字符串。但结果与 Android 和 PHP 不同。我怎样才能像教程(Android/PHP)那样使用带有 CryptoSwift 的 iOS(Swift3)来加密/解密?

这是 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
}

最佳答案

  1. 在 Android 上使用 Java 8。
  2. 安装 Java Cryptography Extension在 Android 机器上。
  3. 检查您的 Base64 类。
  4. 在这里测试:http://aesencryption.net .
  5. 检查兼容的位。
  6. 检查 key 大小。

测试技巧:在所有三个平台上使用相同的 (iv) 集成向量和 key 从一个平台加密,并尝试在其他平台上使用 harcdoded 加密解密文本进行解密。

关于ios - 在 iOS(swift3)、Android 和 PHP 之间加密/解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44897987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com