您的位置 首页 php

PHP/Python文档加解密提升企业信息安全

随着信息化的高速发展,人们对信息安全的需求接踵而至,人才竞争、市场竞争、金融危机、敌特机构等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击、无意识泄密等窃密手段成为了人与人之间、企业与企业之间、国与国之间的安全隐患。 所以对文档安全的保护至关重要。【 百度 百科】

电子文档即计算机生成的二进制数据。依赖计算机系统存取并可在通信网络上传输。它主要包括电子文书、电子信件、电子报表、电子图纸等。今天为大家介绍PHP/Python两种编程语言 二进制 电子文档的加解密。文件级的文档密钥提升文档落地存储的安全。两种编程语言文档加解密互通性。

一、PHP二进制文档加密

 <?php
function  openssl _document_encrypt($strContent, $strPassword) {
    return openssl_encrypt($strContent, 'DES-ECB', $strPassword, OPENSSL_RAW_DATA);
}

//pdf文档测试加密
$strContent = file_get_contents('./demo.pdf');
var_dump(strlen($strContent));
$strPassword = '12345678';
$strEnContent = openssl_document_encrypt($strContent, $strPassword);
var_dump(strlen($strEnContent));
执行结果:
int(11320079)
int(11320080)  

二、PHP二进制文件解密

 <?php
function openssl_document_decrypt($strEnContent, $strPassword) {
    return openssl_decrypt($strEnContent, 'DES-ECB', $strPassword, OPENSSL_RAW_DATA);
}

//pdf文档测试解密
$strPassword = '12345678';
$strEnContent = '加密字串';
$strDeContent = openssl_document_decrypt($strEnContent, $strPassword);
var_dump(strlen($strDeContent));
执行结果:
int(11320079)  

三、Python二进制文件加密

 from Crypto.Cipher import DES
import sys

fp = open('./demo.pdf', 'rb')
text = fp.read()
fp.close()

key = b'12345678'
def pad(text):
    while len(text) % 8 != 0:
        text += b' '
    return text

des = DES.new(key, DES.MODE_ECB)
padded_text = pad(text)
encrypted_text = des.encrypt(padded_text)
print(len(encrypted_text))
执行结果:
11320080  

四、Python二进制文件解密

 from Crypto.Cipher import DES
import sys
key = b'12345678'
encrypted_text = '加密字串'
des = DES.new(key, DES.MODE_ECB)
plain_text = des.decrypt(encrypted_text)
print(len(plain_text))

obj_file = open('c.pdf', 'wb+')
obj_file.write(plain_text[0:11320079])
执行结果:
11320080  

五、PHP加密Python解密文件

 from Crypto.Cipher import DES
import sys
fp = open('./e.pdf', 'rb')
text = fp.read()
fp.close()

key = b'12345678'
encrypted_text = text
des = DES.new(key, DES.MODE_ECB)  # 创建一个DES实例
plain_text = des.decrypt(encrypted_text)  # 解密
print(len(plain_text))
obj_file = open('c.pdf', 'wb+')
obj_file.write(plain_text)
执行结果:
11320080  

六、总结

    • 使用openssl函数可以解决PHP和Python语言文档加解密的互通。
    • 文档加解密密钥是文件级别的业务上可以规划一个文件一个密钥。
    • 加解密方式可以适用于所有二进制文档。例办公文档、pdf、图片、视频、音频等。
    • 超大文件可以利用文件的分段上传下载方式分段加解密。文件大小对文档的加解密不再影响性能。
    • 文件密钥可以统一加密落地管理。
    • 加密后的文档大小与原始文档大小相差8的整型差值。加密后的文件与原始文件存储相差不大。

文章来源:智云一二三科技

文章标题:PHP/Python文档加解密提升企业信息安全

文章地址:https://www.zhihuclub.com/76688.shtml

关于作者: 智云科技

热门文章

网站地图