将ASP.net密码哈希转换为字符串swift

将ASP.net密码哈希转换为字符串swift,swift,Swift,我正在使用MSSql数据库。Mssql数据库中的加密过程使用asp.net使用的相同加密方法进行加密。如何将此密码更改为正常值?我想根据我获取的数据登录,但我需要转换密码。我需要检查数据库中的密码是否与应用程序中的密码匹配 加密过程如图所示。创建此数据的人说,他正在根据asp.net进行加密 我得出如下数据 let client = SQLClient.sharedInstance()! client.connect("asd", username: "asd", pass

我正在使用MSSql数据库。Mssql数据库中的加密过程使用asp.net使用的相同加密方法进行加密。如何将此密码更改为正常值?我想根据我获取的数据登录,但我需要转换密码。我需要检查数据库中的密码是否与应用程序中的密码匹配

加密过程如图所示。创建此数据的人说,他正在根据asp.net进行加密

我得出如下数据

  let client = SQLClient.sharedInstance()!
        client.connect("asd", username: "asd", password: "asd", database: "asd") { success in
        client.execute("SELECT asd FROM asd", completion: { (_ results: ([Any]?)) in
         var gifsa: [String] = []
         for table in results as! [[[String:AnyObject]]] {
          for row in table {
          for (_, value) in row {
            if let intVal = value as? String {
                                gifsa.append(String(intVal)) }} }}
          client.disconnect()
        var returnArray: [ImageAsset?] = [ImageAsset]()
            for item in gifsa {
            guard let url = URL(string : item) else {continue}
            let asset = ImageAsset(url: url)
            returnArray.append(asset)
             }
         self.winguGalleryView.assets = returnArray  }) } 

你确定这些密码是加密的而不是散列的吗?因为密码的通常做法是散列,在这种情况下,您无法恢复它们。您可以检查您拥有的密码是否与数据库中的密码哈希匹配,但无法从数据库还原密码。我想检查数据库中的密码是否不匹配?我该怎么做@在这种情况下,您实际上不需要解密数据库中的密码,只需要获取用户输入的密码,对其应用与数据库中使用的相同的哈希/加密,然后比较哈希。不过,您需要知道数据库中使用的确切加密/哈希。恐怕我帮不了你。他说Asp.net是他使用的一种特殊类型的加密。是否有必要了解这种类型(例如md5哈希)@freeinknick我恐怕不知道,我对ASP.NET不够熟悉,不知道它是否有一些“默认”加密方法。我大约80%确信它应该是标准的。您需要知道使用这种数据库所使用的加密/哈希类型,这是正确的。