2017-06-17 13 views
0

私のアンドロイドアプリでは、私はedittextからの通常の文字列と比較したいハッシュされた文字列を持っています。私はそれを次のように使ってください。Ios swift SHA1暗号化

try { 
     MessageDigest hashDigester = MessageDigest.getInstance("SHA-1"); 
    } catch (NoSuchAlgorithmException e) { 
     e.printStackTrace(); 
    } 
return (new BigInteger(1, hashDigester.digest(pin.getBytes())).toString(16)).equals(object.getPin()); 

上記のコードはうまくいきます。今、私は

text.sha1() 

とiも

extension Data { 


    func hexString() -> String { 
     let string = self.map{String(format:"%02x", Int($0))}.joined() 
     return string 
    } 


    func SHA1() -> Data { 
     var result = Data(count: Int(CC_SHA1_DIGEST_LENGTH)) 
     _ = result.withUnsafeMutableBytes {resultPtr in 
      self.withUnsafeBytes {(bytes: UnsafePointer<UInt16>) in 
       CC_SHA1(bytes, CC_LONG(count), resultPtr) 
      } 
     } 
     return result 
    } 

} 

extension String { 

    func hexString() -> String { 
     return self.data(using: .utf8)!.hexString() 
    } 

    func SHA1() -> String { 
     return self.data(using: .utf8)!.SHA1().hexString() 
    } 

} 

の下に使用してみましたが、どちらも与えた。このようなのEditTextからハッシュを作成するためにCryptoSwiftを使用してみましたSWIFT 3.0 を使用してIOSで同じことをやってトリングています同じ結果ですが、私のアンドロイドコードと同じではありません。 私はスワイプコードをどのように調整するべきですか?

+0

ことができますあなたと、上のSHA-1を行った文字列の例AndroidやiOS(このコード)の結果 – paulvs

+0

iosで407を挿入すると35db01d3926745bec110d5709a544e250f7fffc4が返され、同じ407のアンドロイドでは正しいe6de89674d9f1d7968a70dad4f41b844965b4fdcが返されます – appLogic

答えて

0

私の間違いでした!正しい私は間違って入力

0

を渡した関数は、あなたはスウィフト4でコードを短くするために、いくつかの小さな改善を追加することができます。

extension Data { 

    var hexString: String { 
     return map { String(format: "%02hhx", $0) }.joined() 
    } 

    var sha1: Data { 
     var digest = [UInt8](repeating: 0, count: Int(CC_SHA1_DIGEST_LENGTH)) 
     self.withUnsafeBytes({ 
      _ = CC_SHA1($0, CC_LONG(self.count), &digest) 
     }) 
     return Data(bytes: digest) 
    } 

} 

extension String { 

    var hexString: String { 
     return self.data(using: .utf8)!.hexString 
    } 

    var sha1: Data { 
     return self.data(using: .utf8)!.sha1 
    } 

} 
関連する問題