Xcode iOS密码通过“某些”哈希/加密类型获得AF“发布” - 啥样的?
Posted
技术标签:
【中文标题】Xcode iOS密码通过“某些”哈希/加密类型获得AF“发布” - 啥样的?【英文标题】:Xcode iOS password get AF 'posted' with "some" hash / type of encryption - what kind?Xcode iOS密码通过“某些”哈希/加密类型获得AF“发布” - 什么样的? 【发布时间】:2018-01-04 00:37:57 【问题描述】:我正在测试一个尚未发布的应用。我有一个客户端注册/登录,使用 Alamofire 发布然后检索和解析 JSON。除非 Alamofire 已经“黑盒化”了某种类型的哈希,否则我不知道在任何地方都编码过任何类型的哈希。
当我研究为什么测试密码(通过 SSL、HTTPS 传递,并且没有任何加密努力)出现在服务器端看起来像散列的结果时,我将该结果与故意的服务器端 Sha256 哈希(在与从应用程序传递的原始密码匹配的原始纯文本密码上完成)。我看到了这个:
"ccc" ----> Sha256 hash = 64daa44ad493ff28a96effab6e77f1732a3d97d83241581b37dbd70a7a4900fe
"ccc" ----> "simple ios post" (via Alamofire) = 9df62e693988eb4e1e1444ece0578579
如您所见,这些值非常不同,这意味着除非我知道途中发生了什么,否则我无法验证服务器端的任何人,也不能使用任何服务器端密码重置功能,因为我有不知道使用了哪种哈希。
谁能帮我知道散列密码发生了什么?
下面是基于 Alamofire 的简单代码(Xcode 9、Swift 4):
//creating parameters for the post request
let parameters: Parameters=[
"username":textFieldUserName.text!,
"password":textFieldPassword.text!,
"name":textFieldName.text!,
"email":textFieldEmail.text!,
"phone":textFieldPhone.text!,
"user_type":String(user_type),
"user_privileges":String(user_privileges)
]
print("Post Contents ('parameters') = \(parameters)")
//Sending http post request
Alamofire.request(URL_USER_REGISTER, method: .post, parameters: parameters).responseJSON
response in
//printing response
print(response)
//getting the json value from the server
if let result = response.result.value
//converting it as NSDictionary
let jsonData = result as! NSDictionary
【问题讨论】:
【参考方案1】:嗯,我觉得很害羞。我发现在服务器端的 php 中应用了一个哈希。
md5($pass);
无需为这个而烦恼。现在希望我什至没有发布它。但是,也许它会对某人有所帮助。
【讨论】:
也请原谅我犯了将哈希与加密混淆的常见错误。我知道它们不一样(前者是可撤销的,后者是,如果它是可撤销的,那就浪费了)。以上是关于Xcode iOS密码通过“某些”哈希/加密类型获得AF“发布” - 啥样的?的主要内容,如果未能解决你的问题,请参考以下文章
springboot+security 的BCryptPasswordEncoder 使用