我想转换用户输入或假设任何字符串如"abc"到MD5哈希.我想在ios swift中这样做.我已经提到了以下链接,但解决方案对我不起作用,或者我很困惑,因为我是快速编程的新手,所以我很难实现它.有人可以通过明确的步骤来帮助我实现这一目标.提前致谢!
http://iosdeveloperzone.com/2014/10/03/using-commoncrypto-in-swift/
为了更清楚,我希望像在php中一样快速实现这一点.
$str = "Hello";
echo md5($str);
Run Code Online (Sandbox Code Playgroud)
输出:8b1a9953c4611296a827abf8c47804d7
我正在尝试在Swift中创建字符串的HMAC SHA-1哈希,但无法弄清楚如何与API进行交互,因为它似乎没有导入CommonCrypto框架.我尝试了各种不同形式的"import CommonCrypto"并创建了一个桥接头文件,但没有一个有所作为.
奇怪的是,如果我创建一个Objective-C类,我可以毫无问题地与API交互,所以这似乎是Swift独有的.
如果有人能告诉我uint8_t digest[CC_SHA1_DIGEST_LENGTH]Swift中的等价物,我会非常感激
在实施AdMob时,您可以定义一系列测试ID,以便Google知道向这些设备投放测试广告,而不是真实广告.但是,它需要"散列设备ID".这对我来说似乎有点模糊.他们在谈论什么ID以及他们希望我使用什么样的哈希方法?
我在谈论应该进入的位:
request.testDevices = @[ @"hashed-device-id" ];
Run Code Online (Sandbox Code Playgroud) 在String.hashiOS的文档中,它说:
在OS X版本中,不应该依赖具有相同散列值的此属性.
(奇怪的是他们在iOS文档中谈到OS X)
好吧,我需要一个不会因iOS版本而改变的hasshing功能.它可以很简单,我不需要像SHA这样的东西.那有些图书馆吗?
有关于这一个问题在这里,但接受的(唯一的)答案有只是说,我们应该尊重在文档的说明.
我甚至不指望这个问题,但它出现了.我尝试在swift中从字符串中获取md5哈希值.我在SO上搜索它,并假设我需要导入这样的库:
#import <CommonCrypto/CommonCrypto.h>
Run Code Online (Sandbox Code Playgroud)
首先编译器说'#'不行.然后我删除了,编译器说"<"不行.我试图找出并找到建议添加名为"CommonCrypto"的文件夹并创建一个名为"module.map"的文件.我无法理解如何使用此扩展名创建文件.好的,我创建了swift文件并替换了它的扩展名.然后在那里写代码:
module CommonCrypto [system] {
header "/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
Run Code Online (Sandbox Code Playgroud)
然后在建议中将新模块添加到Swift编译器下的导入路径 - 项目设置中的搜索路径$ {SRCROOT}/CommonCrypto).
它再次不合适.
我不相信它很难做到这一点.我想我误解了一些步骤或事情.如果你知道一步一步的答案,请帮助))