PHPPython文档加解密提升企业信息安全
随着信息化的高速发展,人们对信息安全的需求接踵而至,人才竞争、市场竞争、金融危机、敌特机构等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击、无意识泄密等窃密手段成为了人与人之间、企业与企业之间、国与国之间的安全隐患。 所以对文档安全的保护至关重要。【百度百科】
电子文档即计算机生成的二进制数据。依赖计算机系统存取并可在通信网络上传输。它主要包括电子文书、电子信件、电子报表、电子图纸等。今天为大家介绍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的整型差值。加密后的文件与原始文件存储相差不大。
感谢大家的评论、点赞、分享、关注…