Perl 加密和解密

Perl 加密和解密

Perl中的 Crypt 函数,基本上是用来存储敏感数据和使用ASCII字符的加密字符串的密码(该函数对字符串进行加密)。字符串只能被加密,不能以与加密相同的方式解密。

语法: $encyrpted_string = crypt $string, $salt
传给函数的参数:
* $string: 是需要被加密的字符串。
* $salt: 用于从不同的变化中选择一个加密的版本。

返回值: 函数返回一个加密的字符串

注意: $salt 变量可以是以下两个字符的组合:

['.', '/', 0..9, 'A'..'Z', 'a'..'z']

除了这组给定的字符,我们还可以使用/包括更多的字符,这组字符只是用于推荐的目的。加密字符串中的前两个字符被存储为盐字符,可用于以后的比较。我们甚至可以通过使用 rand函数 (随机选择)来选择盐的字符。如果 $string或$salt 有微小的变化,我们可以观察/看到结果/最终加密字符串的巨大变化。

例子: 下面是说明上述加密函数的例子。

#!usr/bin/perl
print "Content-type: text/html\n\n";
 
# Setting the password
password = 'geekforgeeks';
 
# Encrypting the password using crypt functionhidden = crypt password, join "",
          ('.', '/', 0..9, 'A'..'Z', 'a'..'z') [rand 64, rand 64];
 
print "hidden \n";
 
salt = substr (hidden, 0, 2);
 
# Taking user input
print "Enter Your Password: \n";
while (<STDIN>)
{
    if (hidden eq (crypt_, $salt))
    {
        print "Successfully Logged In \n";
        exit;
    }
    else
    {
        print "Entered Password is Incorrect \n";
        print "Please Try Again: \n";
    }
}

输出:

Perl中的加密和解密

在Perl中解密

对于解密,Perl中的加密密码需要使用 MIME::Base64 模块进行解密。为了解密一个字符串,我们可以调用或使用 decode_base64() 函数。一个字符串形式的参数被作为函数的输入,以便返回解码或解密的数据/密码。

语法:

使用MIME::Base64;

$decoded = decode_base64();

例子: 下面的例子说明了Perl中的解密过程。

#!/usr/bin/perl
use strict;
use warnings;
use MIME::Base64;
 
# Setting the password
my password = "GeeksforGeeks";
 
# For encrypting the plaintext password
# using crypt function
myencoded = crypt password, join "",
             ('.', '/', 0..9, 'A'..'Z', 'a'..'z') [rand 64, rand 64];
 
mysalt = substr (encoded, 0, 2);
 
# For decrypting the encrypted password
# using base_64 module
mydecoded = decode_base64(encoded);
print "\n";
 
# For printing the Encrypted password
print "Encrypted Password ::encoded\n";
 
# For printing the Decrypted password
print "Decrypted Password :: decoded\n";
 
# For printing the password in PlainText
print "Password In Plain Text ::password\n";

输出:

Perl中的加密和解密

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程