我明白盐,哈希以及所有那些用于密码的好东西的重要性。我的问题涉及关系数据库理论。关于用户帐户表,盐和哈希的第三范式
我是第三范式的理解是,每一个元素都必须提供有关的关键,整个键,并没有什么,但关键的事实(所以帮我科德。感谢维基百科)。所以我正在审查我的一些表格,并且我遇到了这个问题。
-- Users
CREATE TABLE accounts(
player_id mediumint NOT NULL AUTO_INCREMENT, -- Surrogate Key
username VARCHAR(32) UNIQUE NOT NULL, -- True primary key
salt char(29), -- Passwords are stored in bcrypt hash
hash char(60), -- Salt + Hash stored
created DATETIME,
lastlogin DATETIME,
PRIMARY KEY (player_id)
) ENGINE = InnoDB;
问:是这样的表是第三范式?我的理解是......“哈希”依赖于player_id和salt。 IE:散列 - >(用户名,盐)。
我看不出任何实际的好处分手了这个表。但是我担心有一个可能的更新异常或者我看不到的东西。
+1“所以帮我科德” – Thilo 2011-06-01 04:27:15