在Smarty模板主题中,我想在模板中实现MD5,以便基于一个字符串和一个盐获得一个唯一的哈希值。(没有访问调用模板的PHP代码,否则这将是微不足道的)。Smarty似乎没有内置的MD5函数。我想通过使用Smarty的Math函数,基于字符串的长度和其他一些唯一的账户信息来创建一个哈希值,但是希望有更好的方法可以做到这一点,希望有人能提出一些想法或建议。谢谢!
{$string|md5}
从文档中得知:
所有的 PHP 函数都可以隐式地用作修改器,就像上面的示例所演示的那样。但是,使用 PHP 函数作为修改器有两个小陷阱:
首先-有时函数参数的顺序不是理想的顺序。使用 {"%2.f"|sprintf:$foo} 格式化 $foo 实际上是有效的,但更直观的方式是 {$foo|string_format:"%2.f"},它由 Smarty 分发提供。
其次-如果启用了 $security,则 MODIFIER_FUNCS 元素中声明的所有要用作修改器的 PHP 函数都必须被信任。
这个可能有效。还没有测试过:
{assign var="string_to_hash" value="$string:$salt"}
{$string_to_hash|md5}