回答編集履歴
1
実際試してみたらエラー出たのでコード修正
answer
CHANGED
@@ -11,23 +11,23 @@
|
|
11
11
|
```swift
|
12
12
|
extension String {
|
13
13
|
var md5: String! {
|
14
|
-
let str = self.
|
14
|
+
let str = self.cString(using: String.Encoding.utf8)
|
15
|
-
let strLen = CC_LONG(self.
|
15
|
+
let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8))
|
16
16
|
let digestLen = Int(CC_MD5_DIGEST_LENGTH)
|
17
|
-
let result = UnsafeMutablePointer<CUnsignedChar>.
|
17
|
+
let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)
|
18
|
-
|
18
|
+
|
19
19
|
CC_MD5(str!, strLen, result)
|
20
|
-
|
20
|
+
|
21
21
|
let hash = NSMutableString()
|
22
22
|
for i in 0..<digestLen {
|
23
23
|
hash.appendFormat("%02x", result[i])
|
24
24
|
}
|
25
|
-
|
25
|
+
|
26
|
-
result.
|
26
|
+
result.deallocate(capacity: digestLen)
|
27
|
-
|
27
|
+
|
28
28
|
return String(format: hash as String)
|
29
29
|
}
|
30
|
-
|
30
|
+
}
|
31
31
|
```
|
32
32
|
|
33
33
|
これで下記のような感じで使えるはずです。
|