java - 客户端服务器消息加密

标签 java encryption ionic2

我正在使用 Ionic 2 客户端和具有 RESTful 服务的 Java 服务器 (Java8)。当用户当前登录时,我从客户端向 RESTful 服务发送请求。这会将 javascript Person 对象传递给 java Person 对象。

问题1

这是否意味着密码没有暴露。或者是吗?

问题2

服务器收到 Person 对象后,就会检索password 字符串并将其保存到 MySQL 数据库。

我想加密这个密码,这样当有人查看数据库时,他们就无法读取该密码。然后当从数据库读取时,我需要再次解密。

任何人都可以针对上述两个问题推荐最好和最简单的策略吗?

谢谢

最佳答案

Q1。为了客户端和服务器之间的安全传输,请使用 HTTPS。

第二季度。 不要加密密码,当攻击者获得数据库时,他也将获得加密 key 。使用随机盐迭代 HMAC 约 100 毫秒,然后将盐与哈希一起保存。使用诸如password_hash、PBKDF2、Bcrypt 和类似函数之类的函数。重点是让攻击者花费大量时间通过暴力破解来查找密码。

关于java - 客户端服务器消息加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40463379/

相关文章:

java - 增加 Integer 变量不会影响引用同一对象的另一个

java - 如何在 Struts 2 中进行动态 URL 重定向?

encryption - AES CTR 测试向量

python - 十六进制转pem文件

sql-server - 我们如何在SSMS中查看加密存储过程的主体?

angular - ionic 2 Highcharts

javascript - 模板引用变量 *ngFor

java - App Engine 连接的 Android 应用程序警告 : You must run the ValidationTool as part of your server build process

java - grails spock 测试失败,显示 'java.lang.IllegalArgumentException: ServletContext must not be null'

android - ionic 2 : Add platform doesn't work