Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >iOS - Swift中的密码加密

iOS - Swift中的密码加密
EN

Stack Overflow用户
提问于 2015-06-05 17:06:51
回答 2查看 3.9K关注 0票数 0

我需要在Swift中加密密码,并将其发送到我的web服务器以存储在数据库中。有什么最佳做法吗?我见过AESCrypt.encrypt(userPassword, password: API_AUTH_PASSWORD),但我不太确定这是否足够(盐,等等)。此外,在服务器本身上,如何比较散列密码以进行登录身份验证?我正在使用PHP。基本上,我想问的是,Swift中是否有一种普遍接受的加密方法,可以在基于PHP的web服务器上进行散列和密码检查。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-05 19:04:26

这个问题。您应该了解散列在客户端的含义:

  • Pro:您可以使用更多的回合,从而创建一个更强的哈希。 作为参考,1通至少使用25,000轮PBKDF2-HMAC-SHA512 512.您的用户可能不会使用迪克瓦尔,因此如果可能的话,您需要更高的计数。
  • Con:,您将自己锁定在一个特定的算法中&整数。 哈希输出实际上将成为用户的密码。你以后就不能做些调整了。这意味着随着计算能力的增加,随着时间的推移,哈希会变得更弱。 此外,由于哈希允许访问您的网站,因此它应该存储在密钥链中。 使用salt (例如appname + username)可以防止服务器漏洞影响任何其他站点。 正如链接所提到的,您可能仍然希望在服务器上使用“快速”哈希(例如SHA-512)。这限制了只有数据库被破坏时的损坏。 在服务器上,哈希应该在恒定时间内与hash_equals进行比较。password_compat代码早期版本的PHP。 当使用客户端散列时,解消建议在服务器端使用随机盐。

另一种&更常见的情况是在服务器上执行所有哈希操作。

有关PHP,请参见password_hashpassword_verifypassword_needs_rehash

如果您使用的是较早版本的PHP,就会有康帕特

票数 6
EN

Stack Overflow用户

发布于 2015-06-05 17:14:46

最佳做法是不要将密码存储在数据库中。

您应该执行单向哈希函数(如SHA )并存储哈希值。当您需要对用户进行身份验证时,散列用户输入的密码并比较哈希值。在散列中使用一个盐分值来进一步提高安全性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30677899

复制
相关文章
time:Python的时间时钟处理
time库运行访问多种类型的时钟,这些时钟用于不同的场景。本篇,将详细讲解time库的应用知识。
luckpunk
2023/09/29
2770
time:Python的时间时钟处理
可以改变的量-变量
变量用来记录数值。使用变量进行代数计算,则该变量中数值可以随着程序的逻辑计算而改变。当计算全部结束后,再将数值拿出展示给用户。
星哥玩云
2022/09/14
3650
可以改变的量-变量
手动创建线程池
我们之所以要手动创建线程池,是因为 JDK 自带的工具类所创建的线程池存在一定的弊端,那究竟存在怎么样的弊端呢?首先来回顾一下 JDK 中线程池框架的继承关系:
用户4283147
2022/10/27
7250
手动创建线程池
RocketMQ手动创建Topic
创建Topic使用的命令 mqadmin updateTopic: .\mqadmin updateTopic Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in
青山师
2023/05/05
2.2K0
前端|创建简单动态时钟
动态时钟,就是通过CSS工具的美化效果和引入JavaScript,让网页呈现出钟表的动态效果,让它能够记录时间。通过改变背景颜色、指针颜色和阴影效果,让时钟呈现不同的颜色。
算法与编程之美
2020/08/10
1.7K0
前端|创建简单动态时钟
eclipse创建java项目无反应
系统升级到win10,重新安装eclipse,发现设置了原来的工作文件夹后,点击Java Project和Project都没有反应
全栈程序员站长
2022/11/17
1.1K0
eclipse创建java项目无反应
手动创建 SpringBoot Web 应用
1. 快速创建 ---- 官网位置 2. 手动创建过程(以IDEA为例) ---- 1. 创建Maven项目: File -> New -> Project 选择 Maven,然后点击 Next GroupId 一般为域名倒写,ArtifactId 一般为项目名,Version 为版本号,填写完毕之后,点击 Next 选择项目位置,点击 Finish 2. 添加依赖 3. 配置资源目录 File -> Project Structure Module -> Sources 将 src 设置成 Sources
山海散人
2021/03/03
9180
AI可以预测患者对免疫疗法的反应
发表在“The Lancet Oncology”上的一项研究首次证实,AI可以处理医学图像以提取生物学和临床信息。通过设计算法并将其开发用于分析CT扫描图像,Gustave Roussy,CentraleSupélec,Inserm,Paris-Sud University和TheraPanacea(专门从事AI的放射治疗和精密医学)的医学研究人员创建了一个所谓的放射学特征。该特征定义了肿瘤的淋巴细胞浸润水平,并提供了患者免疫治疗功效的预测评分。
AiTechYun
2018/09/26
6400
AI可以预测患者对免疫疗法的反应
Feign-手动创建FeignClient
在Feign-请求不同注册中心的服务中,提到,如果需要请求不同注册中心的服务,可以设置@FeignClient的url属性。
用户2146693
2019/08/08
3.8K0
Feign-手动创建FeignClient
Unity基础系列(一)——创建一个时钟(GameObjects与Scripts)
这篇教程是一个基础教程,会和大家一起创建一个简单的时钟,并且给它加上一些组件脚本用来显示当前时间。这篇教程的意义并不在于怎么学会写出一个时钟,而是教你认识Unity的编辑器。当然如果你之前已经接触过或者用过Unity了并且能自己找到场景窗口,那么就算是有个很好的开始了。
放牛的星星
2020/07/15
2.3K0
Django 创建一个返回当前时间的页面
修改 settings.py 文件, 把上面手动创建的 templates 文件夹路径添加进去
py3study
2020/01/17
9530
手动创建macOS恢复分区
因为某些原因需要制作macOS的恢复盘,但是苹果官方的OS X 恢复磁盘助理早已不支持APFS文件系统。
幻影龙王
2021/09/12
2.5K0
手动创建macOS恢复分区
长时间运行后无法创建session的问题
Jira Ticket: https://jira.mongodb.org/browse/SERVER-42827
MongoDB中文社区
2020/07/22
1.9K0
创建基本时钟周期约束
Xilinx建议把时序约束和物理约束分开来写。(但是必须有一个作为target) 时序约束用于综合和实现,物理约束用于实现。 1时钟周期 2占空比 3相位 Waveform={上升沿时刻,下降沿
瓜大三哥
2018/02/24
1.2K0
创建基本时钟周期约束
世界上最短的时钟代码!更短的,有木有?
该文介绍了如何用 Processing 语言实现时钟的绘制。首先介绍了 Processing 语言的用途,然后给出了一段示例代码,接着详细讲解了时钟绘制代码的实现细节。最后给出了一个在线演示链接,读者可以在线查看该时钟的绘制效果。
IMWeb前端团队
2017/12/29
1.2K0
时钟偏移是如何影响建立时间和保持时间的?
时钟偏移反映了时钟信号到达同一时序路径上的不同寄存器的时钟端口之间的时间差异,如下图所示。时钟clk从源端到达寄存器FF1的时间点为Tclk1,到达寄存器FF2的时间点为Tclk2,故时钟偏移即为Tclk2与Tclk1的差。若clk源端记为零时刻点,那么Tclk1和Tclk2分别对应发送时钟路径延迟和捕获时钟路径延迟。
Lauren的FPGA
2023/08/18
6380
时钟偏移是如何影响建立时间和保持时间的?
世界上最短的时钟代码!更短的,有木有?
Processing.js作者是John Resig,这是继Jquery之后,他的第二个力作。
IMWeb前端团队
2019/12/03
1.5K0
gPTP时钟同步(时间同步)协议简介
• 教官首先发出“齐步—–走”的命令,大家听到“齐步”二字后,开始调整动作,最终所有人实现动作同步。
NTP网络同步时钟
2022/03/09
9.1K1
gPTP时钟同步(时间同步)协议简介
点击加载更多

相似问题

对R中具有特定列条件的行进行计数

147

MySQL -对具有不同条件的组中的每一行进行计数()

22

对具有条件的多个列进行DISTINCT计数

15

具有两个不同列的条件的数据的条件计数公式

20

对某些日期具有相同列值的行进行计数

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文