Encrypt 和 Decrypt 加密--解密

article/2025/9/21 4:59:48

[例句]In order to encrypt and decrypt, you need an encryption algorithm and a key.

为了进行加密和解密,您需要加密算法和密钥。

 

数据加密

数据加密利用密码技术对信息进行加密,实现信息的隐蔽,从而起到保护信息安全的作用。它通过加密算法和加密秘钥将原来是明文的文件或数据进行处理,使其成文不可读的一段代码,也就是所谓的“密文”,来达到保护数据的安全性。

Crypt()函数

crypt()函数返回使用DES、Blowfish或MD5算法加密的字符串。在不同的操作系统上,crypt()函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP回忆检查什么算法可用以及使用什么算法。

crypt()函数的语法:

1

string crypt(string str[,string salt]);

参数str:必需。是需要加密的字符串。

参数salt:可选。用于增加被加密字符数目的字符串(干扰串),以使字符更加安全。若没有提供salt参数,每次调用该函数时会随机生成一个干扰串。

crypt()函数的算法:

[CRYPT_SALT_LENGTH]默认的加密长度。使用标准的 DES 加密,长度为 2
[CRYPT_STD_DES]基于标准 DES 算法的散列使用 "./0-9A-Za-z" 字符中的两个字符作为盐值。在盐值中使用非法的字符将导致 crypt() 失败。
[CRYPT_EXT_DES]扩展的基于 DES 算法的散列。其盐值为 9 个字符的字符串,由 1 个下划线后面跟着 4 字节循环次数和 4 字节盐值组成。它们被编码成可打印字符,每个字符 6 位,有效位最少的优先。0 到 63 被编码为 "./0-9A-Za-z"。在盐值中使用非法的字符将导致 crypt() 失败。
[CRYPT_MD5]MD5 散列使用一个以 $1$ 开始的 12 字符的字符串盐值。
[CRYPT_BLOWFISH]Blowfish 算法使用如下盐值:“$2a$”,一个两位 cost 参数,“$” 以及 64 位由 “./0-9A-Za-z” 中的字符组合而成的字符串。在盐值中使用此范围之外的字符将导致 crypt() 返回一个空字符串。两位 cost 参数是循环次数以 2 为底的对数,它的范围是 04-31,超出这个范围将导致 crypt() 失败。
CRYPT_SHA256SHA-256 算法使用一个以 $5$ 开头的 16 字符字符串盐值进行散列。如果盐值字符串以 “rounds=<N>$” 开头,N 的数字值将被用来指定散列循环的执行次数,这点很像 Blowfish 算法的 cost 参数。默认的循环次数是 5000,最小是 1000,最大是 999,999,999。超出这个范围的 N 将会被转换为最接近的值。
CRYPT_SHA512SHA-512 算法使用一个以 $6$ 开头的 16 字符字符串盐值进行散列。如果盐值字符串以 “rounds=<N>$” 开头,N 的数字值将被用来指定散列循环的执行次数,这点很像 Blowfish 算法的 cost 参数。默认的循环次数是 5000,最小是 1000,最大是 999,999,999。超出这个范围的 N 将会被转换为最接近的值。

在该函数支持多种算法的系统上,如果支持上述常量则设置为 "1",否则设置为 "0"。

1

2

3

4

5

6

<?php

         $str="This is example";  

         echo '加密前的值为:'.$str;

         $crypttostr=crypt($str);

         echo '<p>加密后$str的值为:'.$crypttostr;

 ?>

运行结果如图显示:

从两幅运行结果图可以发现,刷新之后生成的加密结果都不相同,这就对加密后的数据进行判断就成了一个问题。而我们也知道crypt()函数是单向函数,密文不可以还原成明文。且每次加密后的数据都不相同,这就是salt参数要解决的问题。crypt()函数用salt参数对明文进行加密,判断时,对输出的信息再次使用相同的salt参数进行加密,对比两次加密后结果的判断。

 注:crypt()函数没有相应的解码函数,它是一种单向加密函数。


http://chatgpt.dhexx.cn/article/1aYNpTLZ.shtml

相关文章

CSS选择器分类大全

选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说&#xff0c;就是选择标签用的。 分类&#xff1a;基础选择器、复合选择器 目录 一、基础选择器 二、复合选择器 三、CSS3选择器补充&#xff1a; &#xff08;一&#xff09;层级选择器&am…

CSS选择器常见用法总结

文章目录 一、选择器的基本概念二、基础选择器1.标签选择器2. 类选择器3. id选择器4. 通配符选择器基础选择器总结 三、复合选择器1. 后代选择器2. 子代选择器3. 并集选择器4. 伪类选择器4.1 链接伪类选择器4.2 force 伪类选择器 复合选择器总结 一、选择器的基本概念 功能&am…

css深度选择器deep

1.为什么要有deep 1.当我们给组件设置scoped的时候&#xff0c;此时我们组件的css样式只会对自己的内容生效&#xff0c;不会对子组件里面的内容生效。 <style lang"scss" scoped> .login-page {min-height: 100vh;background: url(/assets/login-bg.svg) no-r…

CSS学习笔记之选择器(一)

目录 CSS选择器 标签选择器 id选择器 class选择器 后代选择器 群组选择器 * CSS 规则由两个主要的部分构成&#xff1a;选择器&#xff0c;以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素。 每条声明由一个属性和一个值组成。 属性&#xff08;property&…

属性选择器

1、属性选择器的写法&#xff1a; 标签名[属性] { 声明即样式 } 运行结果&#xff1a; 如上图&#xff0c;只要有 type 属性的 input 标签样式都会发生变化 当然&#xff0c;也可以给属性加上属性值来限制条件 运行结果&#xff1a; input[type"text"] ---- 只有 t…

选择器类型

2.1 id选择器 用法 : 给html标签添加id属性和属性值,然后用css选取,并进行一系列操作 example: html:<div id"我是id选择器"></div> css选取: 用 #id里面的内容,此时是 #我是id选择器 进行操作: #我是id选择器{ width:100px; height:100px; } id…

vue时间选择器

1、年-月-日 时:分 效果展示&#xff1a; 打开选择器&#xff1a; <div class"label">记录日期:</div> <nut-cell :showIcon"true" :isLink"true" click.native"switchPicker"><span slot"title"&…

CSS —— 选择器(带你深入了解如何使用选择器)

一、基础选择器 基础选择器&#xff1a;标签&#xff08;元素&#xff09;选择器&#xff0c;类选择器&#xff0c;id 选择器&#xff0c;通配符选择器。 标签选择器&#xff1a;html 代码中的标签&#xff0c;如 <html>、<body>、<h1>、<p>、<im…

选 择 器

目录 1、三种基本选择器&#xff08;重要&#xff09; &#xff08;1&#xff09;基本选择器 &#xff08;2&#xff09;类选择器 class &#xff08;3&#xff09;id选择器 2、层次选择器 &#xff08;1&#xff09;后代选择器 &#xff08;2&#xff09;子选择器 &am…

AD域基础

文章目录 AD域基础1.什么是AD域2.AD域和工作组的区别2.1 工作组特点及优缺点2.2 AD域特点及优缺点 3.为什么要做AD域管理4.AD域可以做什么 AD域基础 1.什么是AD域 active directory 活动目录&#xff0c;指一组服务器和工作站的集合&#xff0c;域中的目录是始终呈激活可用&a…

创建AD域

创建AD域&#xff08;skills.cn&#xff09;&#xff1a; &#xff08;1&#xff09;安装首台域控制器 &#xff08;2&#xff09;安装第二台域控制器 &#xff08;3&#xff09;将member server加入到skills.cn域 &#xff08;4&#xff09;将client加入到skills.cn域 建域的必…

AD域详细介绍和部署

文章目录 网络基础域一、概述二、部署域模式1. 部署活动目录&#xff08;AD&#xff09;2. 客户机加入域3. 组织单位&#xff08;OU&#xff09;4. 组策略4.1 概述4.2 创建GPO4.3 组策略应用顺序4.4 编辑测试组策略4.5 阻止继承4.6 强制组策略4.7 计算机&用户脚本4.8 计算机…

AD域允许普通用户打开需要管理员权限的软件

问题场景描述 公司的所有电脑都加了域&#xff0c;防止有些不安分的员工擅自下载及安装一些其他软件&#xff0c;导致电脑变卡或者中毒等&#xff0c;所以加了域后&#xff0c;安装任何软件都由IT来安装&#xff0c;但是这里涉及到一个问题&#xff0c;安装的时候需要管理员密…

AD域组策略管理

一、Active Directory组策略管理 ADManager Plus是一个基于web的Active Directory管理和报表工具&#xff0c;只需点击几下即可帮助为多个域管理组策略对象(GPO)。它还提供预制的组策略(GPO)报表&#xff0c;可快速提取GPO相关信息。 使用ADManager Plus轻松管理Windows Acti…

AD域:添加辅域控制器(辅域服务器)

前言&#xff1a; 如下我创建了一个AD域&#xff0c;现在只有一个主域控制器&#xff0c;也就是创建AD域的第一台服务器默认为主域控制器。为防止主域服务器出现故障影响整个域的运作&#xff0c;故现在要为该域添加一个辅域服务器&#xff0c;用来做备用域服务器。 域&#…

什么是AD域?域能给公司带来什么好处?哪款AD域管理工具比较好?

经营公司中很重要的一点就是对公司的管理&#xff0c;所以基本上所有中型公司为了更方便地管理公司电脑&#xff0c;打印机和用户都会请IT咨询公司来做AD域的设计。当然很多小型公司也有这样的设计以方便未来的成长。AD域会给公司带来有很多好处&#xff0c;并且给公司成长留足…

AD域文件权限管理

活动目录文件权限管理 在网络上共享资源时&#xff0c;首先关心的是谁可以访问这些资源以及级别。在 Active Directory &#xff08;AD&#xff09; 环境中管理文件服务器可能很乏味&#xff0c;而且必须一次一个用户完成&#xff0c;这一事实使其成为系统管理员最耗时的活动之…

AD域实现统一用户管理

AD域服务 什么是目录&#xff08;directory&#xff09;呢&#xff1f; 日常生活中使用的电话薄内记录着亲朋好友的姓名、电话与地址等数据&#xff0c;它就是 telephone directory&#xff08;电话目录&#xff09;&#xff1b;计算机中的文件系统&#xff08;file system&am…

AD域建设管理(一)| 安装windows server2019、AD域、AD域证书服务

AD域建设管理&#xff08;一&#xff09;| 安装windows server2019、AD域、AD域证书服务 1.环境介绍及前言2.安装配置win server 2019虚拟机3.安装AD域服务、AD证书服务3.1.安装AD域服务3.2.配置AD域服务(将此服务器提升为域控制器)3.3.安装AD域证书服务3.4.配置AD域证书服务 4…

AD域组策略安全管理

信息安全-终端安全&#xff08;AD域组策略安全管理&#xff09; 终端安全体系五要素&#xff1a; 身份认证&#xff1a;AD认证、身份标识、角色定义、外部纷争系统等。 准入控制&#xff1a;软件防火墙、802.1X交换机、网关准入控制、ARP、DHCP等。 安全认证&#xff1a;防病…