需要帮助将此PHP sha256哈希代码转换为swift(iOS)吗

需要帮助将此PHP sha256哈希代码转换为swift(iOS)吗,php,ios,swift,hash,sha256,Php,Ios,Swift,Hash,Sha256,我需要将这段PHP代码转换成swift来创建散列,我正在使用PHP中的散列模式来用SHA256散列2个字符串,我想用swift来实现这一点,有什么想法吗? SELF::SECRET是一个密钥,SELF::HASH_模式是我的模式,看起来像这样:“00101010011100001010” 更新: 经过几个小时的研究和编码,我终于找到了答案。 这是我写的代码,可能不是最好的,但它很有效:) 我使用github中的一个小类在swift中生成名为NSHash的SHA256字符串 func create

我需要将这段PHP代码转换成swift来创建散列,我正在使用PHP中的散列模式来用SHA256散列2个字符串,我想用swift来实现这一点,有什么想法吗? SELF::SECRET是一个密钥,SELF::HASH_模式是我的模式,看起来像这样:“00101010011100001010”

更新:

经过几个小时的研究和编码,我终于找到了答案。 这是我写的代码,可能不是最好的,但它很有效:) 我使用github中的一个小类在swift中生成名为NSHash的SHA256字符串

func create_token(first:String, second:String) -> String {

    var newFirst = constants.secret + first as NSString
    var newSecond = second + constants.secret as NSString

    var hash1 = newFirst.SHA256()
    var hash2 = newSecond.SHA256()

    var result = ""

    for var i = 0; i < countElements(constants.hash_pattern); i++ {

        var character = "\(constants.hash_pattern[i])" as String
        var number:Int = character.toInt()!

        if number == 1 {

            result = "\(result)\(hash2[i])"


        }else {
            result = "\(result)\(hash1[i])"

        }

     }

    return result
}
func创建\u标记(第一个:字符串,第二个:字符串)->String{
var newFirst=constants.secret+first作为NSString
var newSecond=second+constants.secret作为NSString
var hash1=newFirst.SHA256()
var hash2=newSecond.SHA256()
var result=“”
对于var i=0;i
Swift中已经有一些“SHA-256”的答案,所以也许您可以展示您尝试过的内容以及遇到的困难。否则它看起来像是“为我翻译此代码!”问题:)这可能会有帮助:。
    $hash = hash_init('sha256');
    hash_update($hash, $first);
    $hash1 = hash_final($hash);
func create_token(first:String, second:String) -> String {

    var newFirst = constants.secret + first as NSString
    var newSecond = second + constants.secret as NSString

    var hash1 = newFirst.SHA256()
    var hash2 = newSecond.SHA256()

    var result = ""

    for var i = 0; i < countElements(constants.hash_pattern); i++ {

        var character = "\(constants.hash_pattern[i])" as String
        var number:Int = character.toInt()!

        if number == 1 {

            result = "\(result)\(hash2[i])"


        }else {
            result = "\(result)\(hash1[i])"

        }

     }

    return result
}