当前位置:首页 > 叨叨念念

timedatectl介绍

timedatectl是Linux下的一条命令,用于控制系统时间和日期,可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息。我这边使用Debian11来介绍下timedatectl常见操作便于时间日期的修改。


timedatectl使用

使用timedatectl命令一般需要root权限才可以进行修改操作

Hyper-V三种网络类型介绍

Hyper-V的虚拟交换机有三种类型:外部、内部和专用。


外部 External

创建一个绑定到物理网络适配器的虚拟交换机,以便虚拟机可以访问物理网络。

虚拟机和物理网络、本地主机都能通信,在网络中等同于一个宿主机,有跟宿主机相同网段的IP地址。

Jquery给多个相同class属性的元素统一添加单击事件。


Html代码:

<input type="button" class="demoBtn" id="id1" value="按钮1" data-attr="a" /> <input type="button" class="demoBtn" id="id2" value="按钮2" data-attr="b" /> <input type="button" class="demoBtn" id="id3" value="按钮3" data-attr="c" /> <input type="button" class="demoBtn" id="id4" value="按钮4" data-attr="d" />

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正,且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。


常见的NTP服务器地址

1、Windows系统自带:

MySQL使用ALTER TABLE语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或者字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。


以下是对MySQL数据库表的一些语句写法:

1、修改表名

PHP函数password_hash

Password Hashing函数在 PHP 5.5 时被引入,这边主要讲讲password_hash加密函数、password_verify验证函数以及和md5加密的区别。


password_hash加密

password_hash() 使用足够强度的单向散列算法创建密码的散列(hash)。

password_hash(string $password, mixed $algo, array $options = ?): string|false

有3个参数:密码(必须),哈希算法(必须),选项(选填)

$pwd = '123456'; $hash = password_hash($pwd, PASSWORD_DEFAULT); echo $hash;

输出hash字符串:$2y$10$H7KD.QWJyY68zeKJXTHoW.zH9ZC69zlXALRBtN8BfiKQkk9YolQum

并不是唯一的hash字符串,通过刷新网页,可以输出不同的hash,也就是1个密码会出现不同的hash加密字符串。


password_verify验证

password_verify()验证密码是否和指定的散列值匹配。

password_verify(string $password, string $hash): bool

有2个参数:密码(必须),哈希值(必须)

$pwd = '123456'; $hash = '$2y$10$H7KD.QWJyY68zeKJXTHoW.zH9ZC69zlXALRBtN8BfiKQkk9YolQum'; $result = password_verify($pwd,$hash); var_dump($result); 输出bool(true)


MD5加密

使用《RSA 数据安全公司的 MD5 消息摘要算法》计算 string 的 MD5 散列值,并返回该散列值

md5(string $string, bool $binary = false): string

由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密。所以一般使用md5(password+salt)来计算md5值。

$pwd = '123456'; $md5 = md5($pwd); echo $md5;

输出md5字符串:e10adc3949ba59abbe56e057f20f883e

多次刷新网页保持这个字符串不变,由于网上直接加密的可以直接通过字典输出原始密码,导致非常不安全。

$pwd = '123456'; $salt = '77bx'; $md5 = md5($pwd.$salt); echo $md5; 输出md5字符串:caef045fe88f8efa2cf0b85cb91bad4d


加密性能测试

对比md5加密、md5+salt加密、password_hash加密和password_verify验证性能。

本次测试采用虚拟化

CPU:Intel Xeon Gold 6161 2.2GHz 2核4线程

内存:16GB

PHP:7.4

重复计算10次,取平均值得出以下截图结果

结论:

1、不建议使用password_hash和password_verify进行加密和验证,毕竟和md5+salt也有5万倍以上的性能差距。

2、建议使用md5+盐值的方式,毕竟1ms以下的时间对于性能来说影响不大。

3、安全性虽然password_hash比较安全,但是md5+salt的方式也是相对比较安全的。

PHP7下安装Emlog5.3.1

PHP7出来一段时间了,据说PHP7可以性能翻倍。而且我的服务器上也已经开通了PHP7,就开始折腾下Emlog5.3.1。


直接在php7安装emlog5.3.1各种报错。emlog5.3.1虽然已经出了使用mysqli连接类,但是为了兼容性还是默认是使用了mysql。因为PHP7已经不支持mysql扩展了,但是支持mysqli和pdo_mysql。所以这里还是介绍如何使用mysqli来安装emlog。


以下是修改emlog安装程序,无报错安装。如果是实际环境请在本地环境模拟后成功后再更换。

1、修改include\lib\option.php,大概11行修改为mysqli