【发布时间】:2017-06-05 11:30:26
【问题描述】:
我正在关注如何使用 mysql 为 android studio 应用程序制作表格的教程 这是创建表的代码
create table users(
id int(11) primary key auto_increment,
unique_id varchar(23) not null unique,
name varchar(50) not null,
email varchar(100) not null unique,
encrypted_password varchar(80) not null,
salt varchar(10) not null,
created_at datetime,
updated_at datetime null
);
但本教程中的表格只有:
name
email
password
虽然我的表单有:
email
confirm email
name
password
confirm password
referral code
我如何添加确认字段,例如确认密码字段到 mysql 创建表
【问题讨论】:
-
不要加密密码,当攻击者得到数据库时,他也会得到加密密钥。仅使用散列函数是不够的,仅添加盐对提高安全性无济于事。使用随机盐在 HMAC 上迭代大约 100 毫秒,然后将盐与哈希一起保存。使用
password_hash、PBKDF2、Bcrypt等函数或类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。 -
好的,你建议我做什么?
-
使用诸如
password_hash/password_verifyPBKDF2或Bcrypt之类的函数,持续时间约为100毫秒。 -
对不起,我对 sql 不太了解,该函数应该去哪里?