如何在Mason代码中创建字符串的SHA-256哈希?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Mason代码中创建字符串的SHA-256哈希?相关的知识,希望对你有一定的参考价值。
我试图通过跟随堆栈溢出问题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>
答案
在Mason中,您的Perl代码需要在您的标记内。标签之外的任何内容都只是要包含在输出中的内容。所以你想要这样的东西:
<%init>
use Digest::SHA qw(sha256_hex);
my $message = 'random content';
my $encryptedMsg = sha256_hex($message);
</%init>
以上是关于如何在Mason代码中创建字符串的SHA-256哈希?的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Visual Studio 中使用 SHA256 对程序集进行签名时出错