Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // remembers to import in Bridging-Header.h :
- // #import <CommonCrypto/CommonDigest.h>
- extension String {
- public func sha1() -> Data? {
- guard let messageData = self.data(using:.utf8) else {
- return nil
- }
- var digestData = Data(count: Int(CC_SHA1_DIGEST_LENGTH))
- _ = digestData.withUnsafeMutableBytes {digestBytes in
- messageData.withUnsafeBytes {messageBytes in
- CC_SHA1(messageBytes, CC_LONG(messageData.count), digestBytes)
- }
- }
- return digestData
- }
- public func md5() -> Data? {
- guard let messageData = self.data(using:.utf8) else {
- return nil
- }
- var digestData = Data(count: Int(CC_MD5_DIGEST_LENGTH))
- _ = digestData.withUnsafeMutableBytes {digestBytes in
- messageData.withUnsafeBytes {messageBytes in
- CC_MD5(messageBytes, CC_LONG(messageData.count), digestBytes)
- }
- }
- return digestData
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement