php加密后跳转到图片,php基于base64解码图片与加密图片还原实例_php技巧

本文实例讲述了php基于base64解码图片与加密图片还原的实现方法。分享给大家供大家参考。具体实现方法如下:

本例中$data是一段经过base64编码的图片。具体代码如下:

代码如下:

//文件名:https://www.gxlcms.com/base64.php

$data="/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIADIAMgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AJ9Z1G8i1e5SO6mRFbAVXIA4oAqDVL//AJ/J/wDvs0AI2qX/APz+z/8Afw0ARNq2of8AP7cf9/DQBE2sakOl/cf9/DQBC2s6mP8AmIXP/f00Aen27FreMkkkqCfyoA4HXjjW7v8A3/6CgBdK0q41QS/Z3jXy8Z3kjrn0B9KALsnhS/WNmMtudoJwGbP/AKDQBzrGgCFzQBA5oA9etv8Aj1h/3B/KgDz7xA2Ndu/9/wDoKANrwSS0V+BycJ/7NQBkTaNq0MLyyW7qiKWY7xwB170ATW+j219oEt5aySm6hB3xkgjjk44z06UAQXuk29joEN3cySi7n5jiBAAHXJ4z0/mKAOdc0wPYbX/j1h/3F/lSA858RtjX7z/f/oKANvwM37nUSOoCfyagDAl1vUZY2jkvJWRgQyluCD2oA2PCG+zgvdTncpaIm0j++Rzx9On40AJ43geZbXU4XMlq6BR6LnkH8f6UAca7UwPZbX/j1h/3F/lSA8z8TNjxDej/AG/6CmBBYaveaasq2k3liXAf5Qc4zjqPc0AUi9AFqXV7yTTlsGmH2VMEIFUe/JAyaAE/tu/XTTp/ng2pBGxkU989SM9aQGU70Ae12v8Ax6w/7i/yoA8w8UK//CR3uEYjf2HsKYGXtk/55v8AkaAArJ/zzb8jQAwrJ/zzf8jQBGySn/lm/wD3yaQDfJlP/LN/++TQB7Zag/ZYeP4F/lQA9o0LElFJ9xQAvlR/880/75FAB5Uf/PNP++RQAeVH/wA80/75FAB5Uf8AzzT/AL5FMA8qP/nmn/fIoAcBxSA//9k=";

$img=base64_decode($data);

echo $img;

?>

引用图片的方法:

代码如下:

base64.php

运行效果如下图所示:

d3c792206a2e72cf6996844b72aa427f.png

希望本文所述对大家的PHP程序设计有所帮助。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
混沌加密算法是一种基于混沌现象的加密技术,其加密过程具有高度的随机性和不可预测性,可以有效地保护信息安全。下面介绍一下基于混沌Logistic加密算法的图片加密还原的实现方法。 首先,需要安装相关的Python库,包括numpy、matplotlib和pillow。可以使用以下命令进行安装: ``` pip install numpy matplotlib pillow ``` 加密过程如下: 1. 读入待加密图片,并将其换成二进制序列。 2. 生成一个随机的密钥,作为混沌算法的种子。 3. 使用Logistic混沌算法生成一组伪随机数序列。 4. 将伪随机数序列与原始图片的二进制序列进行异或运算,得到密文序列。 5. 将密文序列保存到文件中,并将密钥保存到文件中。 还原过程如下: 1. 读入密文文件和密钥文件。 2. 使用密钥作为Logistic混沌算法的种子,生成一组伪随机数序列。 3. 将伪随机数序列与密文序列进行异或运算,得到原始图片的二进制序列。 4. 将二进制序列换成图片,保存到文件中。 下面是基于Python实现的代码。 ```python import numpy as np import matplotlib.pyplot as plt from PIL import Image # 定义Logistic混沌函数 def logistic(x, r): return r * x * (1 - x) # 生成伪随机数序列 def generate_random_sequence(seed, size): x = seed sequence = [] for i in range(size): x = logistic(x, 3.9) sequence.append(x) return sequence # 加密函数 def encrypt_image(image_file, key_file, encrypted_file): # 读入图片换成二进制序列 image = Image.open(image_file) image_array = np.array(image) binary_array = np.unpackbits(image_array) # 生成密钥 key = np.random.randint(256, size=1)[0] with open(key_file, 'w') as f: f.write(str(key)) # 生成伪随机数序列 random_sequence = generate_random_sequence(key, len(binary_array)) # 将伪随机数序列与二进制序列进行异或运算 encrypted_array = np.bitwise_xor(binary_array, np.array(random_sequence)*255) # 将密文序列保存到文件中 encrypted_image_array = np.packbits(encrypted_array) encrypted_image = Image.fromarray(encrypted_image_array) encrypted_image.save(encrypted_file) # 解密函数 def decrypt_image(encrypted_file, key_file, decrypted_file): # 读入密文文件和密钥文件 with open(key_file, 'r') as f: key = int(f.read()) encrypted_image = Image.open(encrypted_file) encrypted_image_array = np.array(encrypted_image) binary_array = np.unpackbits(encrypted_image_array) # 生成伪随机数序列 random_sequence = generate_random_sequence(key, len(binary_array)) # 将伪随机数序列与密文序列进行异或运算 decrypted_array = np.bitwise_xor(binary_array, np.array(random_sequence)*255) # 将二进制序列换成图片并保存到文件中 decrypted_image_array = np.packbits(decrypted_array) decrypted_image = Image.fromarray(decrypted_image_array) decrypted_image.save(decrypted_file) # 加密并保存图片 encrypt_image('image.jpg', 'key.txt', 'encrypted_image.jpg') # 解密并保存图片 decrypt_image('encrypted_image.jpg', 'key.txt', 'decrypted_image.jpg') ``` 需要注意的是,由于Logistic混沌算法对初始种子非常敏感,因此生成的伪随机数序列可能会有很大的偏差。为了避免这种情况,可以通过多次运行算法,选择最优的种子作为密钥。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值