哈希值的替换问题

发表于:2007-06-08来源:作者:点击数: 标签:
看了哈希的问题。就顺便想了想替换的问题。 。 假设: 用户的密码原来用 a()后放入库中,现在发现a()不太适合了想用b()代替。 那么 数据库 里已经用 a()哈希过的东西怎么办呢? 我粗略的想了想 好像可以这样: login_update() { hash_a = a(password); hash_b =
看了哈希的问题。就顺便想了想替换的问题。

假设:
用户的密码原来用 a()后放入库中,现在发现a()不太适合了想用b()代替。
那么数据库里已经用 a()哈希过的东西怎么办呢?
我粗略的想了想 好像可以这样:

login_update()
{
    hash_a = a(password);
    hash_b = b(password);

    if (hash_b == db_password) then
    {
        login_suclearcase/" target="_blank" >ccess();
    }

    elseif (hash_a == db_password) then
    {
        db_password = hash_b;
        login_success();
    }

    else
    {
        login_fail();
    }
}

验证用户的密码时 用a() b()算出两个哈希值分别与数据库中的进行比较。先用b()算出的和库中的比较,如果相等,则登陆成功。如果不等,再用a()算出的和库中的比较,如果相 等,则用b()算出的覆盖掉数据库中原来用a()算出的值,登陆成功。否则登陆失败

原文转自:http://www.ltesting.net