如何在Mason代码中创建字符串的SHA-256哈希?

时间:2018-03-01 13:50:25

标签: perl sha mason

我正在尝试在其中创建一个字符串的SHA-256哈希 Mason 通过关注 Stack Overflow 问题的答案 SHA256 digest in perl 并使用 Digest::SHA模块

这些是包含该代码的文件function的内容:

abc.mi

但它引发了以下错误:

use Digest::SHA qw(sha256_hex);
<%init>
    my $message = 'random content';
    my $encryptedMsg = sha256_hex($message);
</%init>

任何想法为什么它将Undefined subroutine &Safe::Root0::HTML::Mason::Commands::sha256_hex called 视为未定义,即使我在文件本身的开头定义它?

这是否与事实有关,这是具有扩展名sha256_hex的Mason代码?

==========编辑==========

在查看此问题的答案后,以下是我的查询的解决方案。

.mi

1 个答案:

答案 0 :(得分:3)

在Mason中,您的Perl代码需要在您的代码中。标签之外的任何内容都只是要包含在输出中的内容。所以你需要这样的东西:

<%init>
  use Digest::SHA qw(sha256_hex);
  my $message = 'random content';
  my $encryptedMsg = sha256_hex($message);
</%init>