小迪web安全| 加密算法相关Day6笔记

一、CTF例子解析

        1.PHP ord()函数

        定义:ord()函数返回字符串的首个字母的ASCII值

        实例:(返回“S”的ASCII值)

<?php
echo ord("S")."<br>";
echo ord("Shanghai")."<br>";
?>

二、CMS密码加密解密

        1.密码加盐

(1)盐:没有任何规律的随机值

(2)MD5值的本质:将一串字符串通过某特定的算法来将其变成另一种形式,这样子就在外观上起到了加密的效果,但是由于背后的算法是固定的,所以每一个字符串都有固定的MD5格式

(3)UUID:UUID是指通用唯一识别码(Universally Unique Identifier),也被称为GUID(全局唯一标识符)。它是一种由软件程序创建的唯一标识符,可以用来标识互联网上的信息和实体。UUID是一个128位二进制数字,通常以16进制形式表示。它被设计成没有重复的可能性,即使在不同的计算机和网络之间。

(4)有些密码不得到其他东西(盐,诸如此类),是没有办法进行解密的

三、靶场练习

        1.SQL注入漏洞测试(参数加密)——墨者学院

        AES加密:对称加密,AES的区块长度固定为128位,密钥长度则可以是128,192或256位。大多数AES计算是在一个特别的有限域完成的。AES加密解密过程中用的密钥是相同的。AES加密存在偏移量,多观察。

        流模式:流模式是指Serial接口两端的设备进入交互阶段后,链路一端的设备可以向对端设备发送配置信息,设置对端设备的物理层参数,然后建立链路。在流模式下,不支持链路层协议,也不支持IP网络层协议。

        (1)mcrypt_module_open函数

                本函数打开指定算法和模式对应的模块。 算法名称可以是字符串,例如 "twofish", 也可以是 MCRYPT_ciphername 常量。 调用 mcrypt_module_close() 函数可以关闭模块。

示例  在加密中使用 mcrypt_module_open()

<?php
    /* 打开加密算法和模式 */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* 创建初始向量,并且检测密钥长度。 
     * Windows 平台请使用 MCRYPT_RAND。 */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* 创建密钥 */
    $key = substr(md5('very secret key'), 0, $ks);

    /* 初始化加密 */
    mcrypt_generic_init($td, $key, $iv);

    /* 加密数据 */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* 结束加密,执行清理工作 */
    mcrypt_generic_deinit($td);

    /* 初始化解密模块 */
    mcrypt_generic_init($td, $key, $iv);

    /* 解密数据 */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* 结束解密,执行清理工作,并且关闭模块 */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* 显示文本 */
    echo trim($decrypted) . "\n";
?>

                加密模式:MCRYPT_MODE_CBC

                数据块:MCRYPT_RIJNDAEL_128

(2)mcrypt_generic_init函数

初始化加密所需的缓冲区

【1】加盐部分的概念引用:

密码加密——加盐算法(两种方式)-CSDN博客文章浏览阅读4.3k次,点赞9次,收藏16次。密码安全是一件很重要的事情,所以一定要谨慎对待常见的主要是3种方式首先明文肯定是不可取的,在数据库中明文存储密码风险实在是太大了简单来说,使用MD5就是将一串字符串通过某特定的算法来将其变成另一种形式,这样子就在外观上起到了加密的效果,但是由于背后的算法是固定的,所以每一个字符串都有固定的MD5格式密码破解程序可以是暴力破解:将得到的密码使用MD5转换成哈希,之后将得到的哈希与最初的哈希进行比较,要是匹配就说明已经破解了密码,但是这种方法的时间复杂度很高,会耗时很久。_加盐算法https://blog.csdn.net/m0_60354608/article/details/130112235

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值