私はスウィフトに私のPythonコードを変換しようとしている、とのコード行の等価/代替(BASE64にMD5ハッシュダイジェスト)を見つけるように見えることはできません。PythonのSwift Equivant - hash.digest()。encode( 'base64')。strip()?基本的に
return hash.digest().encode('base64').strip()
出典:https://stackoverflow.com/a/32041572/3697446
を24文字の文字列を返します。これはまさに私の使用に必要なものです。私は(?それはhexdigestではなくダイジェストをコードするbase64であったので、私は推測している)をbase64のためにこれを使用してみましたが、長いと多くの文字列を作成します。
func toBase64(url: String) -> String{
let data = url.dataUsingEncoding(NSUTF8StringEncoding)
return data!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
}
この私のMD5がCommonCryptoのヘッダを橋渡しして(設定されています/ CommonCrypto.h):
func md5(string string: String) -> String {
var digest = [UInt8](count: Int(CC_MD5_DIGEST_LENGTH), repeatedValue: 0)
if let data = string.dataUsingEncoding(NSUTF8StringEncoding) {
CC_MD5(data.bytes, CC_LONG(data.length), &digest)
}
var digestHex = ""
for index in 0..<Int(CC_MD5_DIGEST_LENGTH) {
digestHex += String(format: "%02x", digest[index])
}
return digestHex
}
どのようなヘルプが多くappricieated!
あなたが正しく推測されているが...あなたは私がダイジェストではなくなるだろうどのようにマーティン-R @ –
を知っていますか、これを定義して
ヘクスダイジェストよりも? (あなたの言うことが何であれ)私はいくつかのことを試しましたが、どこにもありませんでした – user3697446