相关疑难解决方法(0)

Swift中的CommonHMAC

我正在尝试在Swift中创建字符串的HMAC SHA-1哈希,但无法弄清楚如何与API进行交互,因为它似乎没有导入CommonCrypto框架.我尝试了各种不同形式的"import CommonCrypto"并创建了一个桥接头文件,但没有一个有所作为.

奇怪的是,如果我创建一个Objective-C类,我可以毫无问题地与API交互,所以这似乎是Swift独有的.

如果有人能告诉我uint8_t digest[CC_SHA1_DIGEST_LENGTH]Swift中的等价物,我会非常感激

macos hash hmacsha1 commoncrypto swift

36
推荐指数
2
解决办法
3万
查看次数

Swift - 使用用户密码加密和解密字符串

我正在尝试使用Swift中的密码加密String,但不知道如何操作.我需要像下面这样工作的东西

let password = "password"
let message = "messageToEncrypt"
let encryptedMessage = encrypt(message, password)
...

let decryptedMessage = decrypt(encryptedMessage, password)
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.

谢谢

更新 < - 立即删除此部分

更新2

好的,我现在有以下内容:

 func testEnc() throws {

    let ivKey = "tEi1H3E1aj26XNro"
    let message = "Test Message"
    let password = "pass123"

    let aesKey = password.padding(toLength: 32, withPad: "0", startingAt: 0)

    do {
        let messageArray = Array(message.utf8)
        let encrypted = try AES(key: aesKey, iv: ivKey, blockMode: .CBC, padding: .pkcs7).encrypt(messageArray)
        let encryptedString = String.init(bytes: encrypted, encoding: .utf8)
        let …
Run Code Online (Sandbox Code Playgroud)

encryption swift

6
推荐指数
1
解决办法
2万
查看次数

Android和.Net中的AES 128加密,带有自定义密钥和IV

我的android应用程序中有一个密码字符串.我需要使用.netWeb服务通过Web服务(即以...结尾.aspx)发送密码SOAP.在发送密码之前,我需要AES 128使用自定义密钥和IV 加密密码.

他们在.net中有一个加密/解密工具,带有自定义密钥和IV.该工具询问具有16位和IV 8位的自定义键.如果给它字符串,它会生成加密字符串.例

例:

Key : 1234567812345678
IV : 12345678
String : android
Encrypted string : oZu5E7GgZ83Z3yoK4y8Utg==
Run Code Online (Sandbox Code Playgroud)

我不知道如何在android中做到这一点.需要帮忙.

java asp.net android aes

2
推荐指数
1
解决办法
5567
查看次数

使用Xcode 9和AES解密的CryptoSwift

我正在使用Xcode 9.0和CryptoSwift(0.7.2).我正在尝试扩展String以解密AES128加密字符串.我已经使用Pod成功添加了CryptoSwift,但是我收到了以下编译错误 - 我做错了什么?

无法构造'PKCS7',因为它没有可访问的初始值设定项

在此输入图像描述

这是扩展名:

import Foundation
import CryptoSwift

extension String {

    // https://stackoverflow.com/questions/27072021/aes-encrypt-and-decrypt
    func aesDecrypt(key: String, iv: String) throws -> String {
        let data = Data(base64Encoded: self)!
        let decrypted = try! AES(key: key, iv: iv, blockMode: .CBC, padding: PKCS7()).decrypt([UInt8](data))
        let decryptedData = Data(decrypted)
        return String(bytes: decryptedData.bytes, encoding: .utf8) ?? "Could not decrypt"
    }

}
Run Code Online (Sandbox Code Playgroud)

ios cocoapods swift swift3 cryptoswift

2
推荐指数
1
解决办法
4272
查看次数

Swift AES实施

嗨,我正在构建一个与安静的服务器通信的iOS应用程序.这需要我的java AES代码和Swift AES代码使用CryptoSwift生成相同的结果,使用此处的教程(AES加密和解密).然而,与我的java代码相比,这给了我不同的结果.

这是我的java代码:

private static final byte[] keyValue = new byte[] { 'T', 'h', 'e', 'B', 'e', 's', 't', 'S', 'e', 'c', 'r','e', 't', 'K', 'e', 'y' };

public static String encrypt(String Data) throws Exception {
    Key key = generateKey();
    Cipher c = Cipher.getInstance("AES");
    c.init(Cipher.ENCRYPT_MODE, key);
    byte[] encVal = c.doFinal(Data.getBytes());
    String encryptedValue = new BASE64Encoder().encode(encVal);
    return encryptedValue;
}

public static String decrypt(String encryptedData) throws Exception {
    Key key = generateKey();
    Cipher c = Cipher.getInstance("AES");
    c.init(Cipher.DECRYPT_MODE, key);
    byte[] …
Run Code Online (Sandbox Code Playgroud)

java cryptography ios swift

1
推荐指数
1
解决办法
3433
查看次数

Laravel 加密,iOS Android 解密

我试图在 Laravel 中使用 crypt::encrypt 加密一些数据。我需要在 iOS 和 Android 应用程序中解密此加密。任何的想法?

php encryption android ios laravel

0
推荐指数
1
解决办法
1747
查看次数