Spring Security批量密码哈希

时间:2015-02-19 01:19:15

标签: hibernate security spring-security sql-update bulk

我使用散列密码实现了Spring Security。现在我需要更新纯文本中的所有密码进行哈希处理。问题是我有超过120000个用户,用Java(使用Hibernate)更新它需要太多时间

在MySQL中有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

由于没有数据库命中率,您的操作会消耗大量时间。你可以把它们减到最小 -

  1. 首先将 bcp out 添加到文件

    bcp db.my_table encrypted_file.txt -c -t\t -b{batch_size} -S{your_server} -U{username} -P{password}

  2. 然后处理文件并加密所有普通密码

  3. 现在执行 bcp in

    bcp db.my_table in encrypted_file.txt -c -t\t -b{batch_size} -S{your_server} -U{username} -P{password}

答案 1 :(得分:0)

MySQL确实支持某些encryption functions。例如,如果你使用SHA-1,你只需要调用类似这样的东西

update user set password = SHA1(password)