php将密码存入数据库,可以分内常见的4种方式:
1、直接md5加密存到到数据库
2、md5两次存到数据库
3、对需要加密的字符串和一个常量 进行混淆加密
4、生成一个随机的变量存到数据库中,然后对需要加密的字符串和这个随机变量加密
<?php$str="admin"; //需要加密的字符串$str2="php"; //增加一个常量混淆 $pass1=md5($str);$pass2=md5(md5($str));$pass3=md5($str.$str2);echo $pass1."<br>".$pass2."<br>".$pass3;?>
输出:
第四种
$str="admin"; //需要加密的字符串$encrypt=$row['encrypt']; // 生成的 随机加密字符串 存到数据库中$pass4=md5($str.$encrypt);//
2. 教你如何在SQL Server数据库中加密数据
为了防止某些别有用心的人从外部访问数据库 盗取数据库中的用户姓名 密码 信用卡号等其他重要信息 在我们创建数据库驱动的解决方案时 我们首先需要考虑的的第一条设计决策就是如何加密存储数据 以此来保证它的安全 免受被他人窥测
SQL Server中有哪一种支持可以用于加密对象和数据?从一开始就讨论一下SQL Server欠缺什么是明智的 或者是对于SQL Server中的加密部分你不应该做什么
首先 SQL Server有两个内置的密码函数——即 pwdencrypt() 和 pwdpare() 同时 还有两个SQL Server用来管理密码哈希的没有正式记录的函数:pwdencrypt() 将密码哈希过后进行存储; pwdpare()将提供的字符串与哈希后的字符串进行比较 不幸的是 这个哈希函数不是非常安全 它可以通过字典攻击算法被破解(类似命令行应用程序!)
这些函数随着SQL Server的版本发展而不断进行修改 这也是另一个没有使用它们的原因 早期版本的SQL Server对密码进行的哈希 在后来的版本中无法解密 所以如果你依赖一个版本中的函数 那么当升级的时候 所有你的加密数据就都没有用了 除非你可以首先对其解密——这也就违背了敏液加密的最初的目的
第二 你可能会尝试去创建一个针对你的数据库的自制的加密解决方案 但是有以下三个理由说明你不要这样做:
除非你是加密专家 否则胡乱编写的加密系统只会提供非常低级的价值不高的保护 新鲜的是 单向密码哈希或者 ROTx 形式的加密几乎不需要费事就可以被轻松打败
如果由于你自己的能力的缺乏而导致加密被破解 那么你的数据就完蛋了 你需要将所有的东西进行没有加密的备份 是吗?(即使你加密了 那里有没有安全漏洞?)
当市面上提供有专业级别的 具有工业强度的加密解决方案的时候 你就不值得花费时间去自己做 把你的时间用于构建一个好的 坚固的数据库 而不是再重新发明一次车轮
那么 什么才是好的加密数据的方式呢?
对于新手 微软提供了一个自己生成的加密解败伏决方案 CryptoAPI 对于轻量级的加密 军用级别的安全就不在考虑范围之内 它具有相对容易实现的优势:管理员可以安装一个名为CAPI 的ActiveX 控制 它可以在T SQL存储过程中提供CryptoAPI 功能 CAPI 支持察拿携各种类型的双向加密和单向哈希算法 所以管理员可以挑选最适合应用程序的问题的部分
如果你对使用微软的解决方案不感兴趣 还有一些很好的第三方的方案可以使用 一家名为ActiveCrypt 的软件有限责任公司制造了XP_CRYPT 它是SQL Server的插件 可以在视图 程序和触发器中通过扩展存储过程和用户自定义函数(在SQL Server 中)来完成加密 你可以下载一个支持无线的MD DES 以及SHA 哈希的免费版本的应用程序; 其他的加密模型就是在比特深度上进行的 (完全版本是无限的 )在你自己的代码中 你可以使用XP_CRYPT 与ActiveX 控制一样(在受限的免费版本中) 对于ASP程序员来说 一个名为AspEncrypt 的组件提供了一种将高级加密整合到你的代码中的简单方式
lishixin/Article/program/SQLServer/201311/22397
3. 一文读懂十种数据存储加密技术
数据作为新的生产要素,其价值日益凸显,安全问题愈发突出。密码技术是实现数据安全最经济、有效、可靠的手段。通过加密并结合有效的密钥保护,可在开放环境中实现数据强访问控制,让数据共享更安全、有价值。《密码法》等法规推动下,各行业对数据加密技术、产品和服务的重视提高。
本文聚焦十种数据存储加密技术,帮助快速了解数据存储加密的全貌,为用户核心数据资产安全保护提供参考。文章共计9478字,建议阅读时间20分钟。
实战与合规双驱动下,数据安全建设正从“网络为中心”升级至“数据为中心”。密码技术作为网络安全核心,通过加密实现数据安全,尤其在政务、金融、交通文旅、央企、工业等行业,个人信息与商业秘密保护、国密合规建设加速。
数据实际流转过程中的威胁要求在关键节点加密,为数据塑造虚拟边界,有效防范内外部安全威胁。合规趋势显现,数据安全技术受到政策重视,与业务结合紧密,扩展到各领域行业。密码技术应用与业务融合,成为解决合规压力、改造信息系统的关键。
实战中,数据泄露事件频发,数据安全从“不希望数据发生什么”成为业务需求,密码技术应用到信息系统,升级安全防护体系。数据存储加密技术成为业务应用的必然趋势。
数据流转安全增强点在于主动加密,确保数据不被泄露或篡改。结构化与非结构化数据通过不同方式加密,结构化数据适用于关系型数据库,非结构化数据则需针对性加密策略。
传统数据库加密局限于结构化数据,企业实战中需覆盖更多数据处理环节。对比各种技术,应考量融入业务流程的能力、与其他安全技术融合、权限控制、成本效益等。本文选取10种代表技术,分析其原理、应用场景及优劣。
技术一:DLP终端加密,主要在终端执行数据管理,适用于敏感数据保护。技术二:CASB代理网关,位于终端与应用服务器之间,适用于云环境下的数据安全。
技术三:应用内加密(集成密码SDK),通过应用集成加密功能,适用于特定敏感数据加密需求。技术四:应用内加密(AOE面向切面加密),在应用服务器内部加密数据,灵活实现细粒度访问控制。
技术五:数据库加密网关,部署在应用服务器与数据库之间,为数据库提供加密保护。技术六:数据库外挂加密,通过外挂程序加密数据库数据,支持独立权限控制。
技术七:TDE透明数据加密,数据库内部加密,适用于实时加解密场景。技术八:UDF用户自定义函数加密,数据库自定义加密逻辑,适用于特定加密需求。
技术九:TFE透明文件加密,操作系统文件系统加密,适用于文件存储加密。技术十:FDE全磁盘加密,磁盘或分区加密,提供动态加解密服务。
十种技术各有侧重,DLP终端加密侧重PC端保护,CASB代理网关适用于云环境,应用内加密技术灵活应用到服务器端,数据库加密技术覆盖数据库安全,文件系统加密技术适用于文件存储保护。
迎接数字时代,数据安全建设至关重要。了解数据存储加密技术原理,提出合理安全措施,全面保障数据安全,助力数字化进程健康发展。炼石作为数据安全公司,将持续探索技术创新,提供丰富解决方案,推动网络信息行业健康发展。
4. 实现密文存储的方法有哪些
实现密文存储的方法主要包括以下几种:
加密算法:
哈希函数:
二进制编码:
数据库加密:
云存储加密:
硬件加密: