Drupal 8和Drupal 7默认使用SHA512和盐.他们多次通过PHP的hash函数运行散列,以增加生成密码最终散列的计算成本(一种称为stretching的安全技术).
在Drupal 8中,实现是面向对象的.有一个PasswordInterface定义了一个散列方法.该接口的默认实现在PhpassHashedPassword类中.该类的hash方法调用传入SHA512的crypt方法作为散列算法、密码和生成的salt.该类的crypt方法与Drupal 7的_password_crypt()方法几乎相同.
在Drupal 7中,实现分为两个全局函数:user_hash_password()和_password_crypt().
Drupal 6使用不含盐的MD5.相关函数为user_save().