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

问题描述 投票:1回答:1

我试图通过跟随堆栈溢出问题Mason的答案并使用SHA256 digest in perl模块在Digest::SHA中创建字符串的SHA-256哈希

这些是包含该代码的文件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有关吗?

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

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

<%init>
    my $message = 'random content';
    my $encryptedMsg = Digest::SHA::sha256_hex($message);
</%init>
perl sha mason
1个回答
3
投票

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

<%init>
  use Digest::SHA qw(sha256_hex);
  my $message = 'random content';
  my $encryptedMsg = sha256_hex($message);
</%init>
© www.soinside.com 2019 - 2024. All rights reserved.