【问题标题】:have HMAC SHA256 in pure Swift (Vapor) project在纯 Swift (Vapor) 项目中拥有 HMAC SHA256
【发布时间】:2016-09-01 20:34:39
【问题描述】:

我是基于 Swift 的 Vapor 后端框架的新手,我刚刚设置了 HelloWorld 项目。

我需要使用 HMAC SHA256 算法来加密数据。我在网上搜索,找到something like this,但都是基于iOS或OSX框架,使用C库,可以通过import <CommonCrypto/CommonHMAC.h>添加。

如何将 CommonCrypto 或 HMAC 添加到我的 Vapor 项目中?如果不可能,我怎么能有一个纯 swift HMAC Sha256 算法?有没有我可以添加到 Package.swift 的依赖项?

【问题讨论】:

  • 你找到解决办法了吗?

标签: swift3 hmac vapor


【解决方案1】:

如果您使用的是 Vapor 0.17 或更高版本,您应该可以使用 import HMACimport SHA2

从那里您可以使用 HMAC 轻松创建 SHA1 哈希。

查看 Vapor 使用的 Crypto 包:https://github.com/vapor/crypto

此外,Vapor 的默认哈希是带有 HMAC 的 SHA256。所以你可以做drop.hash.make("foo"),这样就可以了。

【讨论】:

    【解决方案2】:

    您应该能够使用CryptoSwift 项目或至少是其中的代码。

    这在 Mac 或 iOS 设备上是一个糟糕的解决方案,因为它没有硬件支持并且比 Apple 的 Common Crypto 慢数百到 1000 倍。但仅在代码中尽可能快。

    【讨论】:

      【解决方案3】:

      同意@zaph 的回答,如果您想使用更优化和快速的解决方案,请使用 SPM (https://github.com/Zewo/OpenSSL) 快速导入 OpenSSL,然后使用基于 OpenSSL 的 HMAC api。

      参考:https://github.com/yoshiki/HMACHash/blob/master/Sources/HMACHash.swift

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多