如何在 Mason 代码中创建字符串的 SHA-256 哈希值?
How to create a SHA-256 hash of a string in Mason code?
我正在尝试创建一个字符串的 SHA-256 散列
Mason
按照 Stack Overflow 问题的答案
SHA256 digest in perl
并使用
Digest::SHA
模块
这些是包含该代码的文件 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
是未定义的,即使我在文件本身的开头定义了它吗?
这与这是扩展名为 .mi
的 Mason 代码这一事实有关吗?
========== 编辑 ==========
在查看针对该问题发布的答案后,这是我的查询的解决方案。
<%init>
my $message = 'random content';
my $encryptedMsg = Digest::SHA::sha256_hex($message);
</%init>
在 Mason 中,您的 Perl 代码需要位于标签内。标签之外的任何内容都只是要包含在输出中的内容。所以你想要这样的东西:
<%init>
use Digest::SHA qw(sha256_hex);
my $message = 'random content';
my $encryptedMsg = sha256_hex($message);
</%init>
我正在尝试创建一个字符串的 SHA-256 散列
Mason
按照 Stack Overflow 问题的答案
SHA256 digest in perl
并使用
Digest::SHA
模块
这些是包含该代码的文件 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
是未定义的,即使我在文件本身的开头定义了它吗?
这与这是扩展名为 .mi
的 Mason 代码这一事实有关吗?
========== 编辑 ==========
在查看针对该问题发布的答案后,这是我的查询的解决方案。
<%init>
my $message = 'random content';
my $encryptedMsg = Digest::SHA::sha256_hex($message);
</%init>
在 Mason 中,您的 Perl 代码需要位于标签内。标签之外的任何内容都只是要包含在输出中的内容。所以你想要这样的东西:
<%init>
use Digest::SHA qw(sha256_hex);
my $message = 'random content';
my $encryptedMsg = sha256_hex($message);
</%init>