数据库加密

信息安全

萝らか妹 提交于 2020-03-31 09:05:21
1, 信息系统安全属性 最小授权原则:我们再给某人授权时,为了保证他的工作能够顺利进行,不要给他过多的授权 反暴露:例:为了防止别人破解我们的数据库,就把数据库命名成非标准的扩展名的数据库。 数据库的一个安全隐患,一旦有人知道数据库的位置,文件名,就可以把数据库给当下来,因此把数据库的扩展名设置成不规则的扩展名,文件名也是很长很奇怪的名字 信息加密:及时被截获,也无法获得原始信息 物理保密:发送时加密,接收时自动解密。 完整性:信息从一个节点发送到另一个节点信息不可以发生改变【防止他人截获信息,篡改信息】 可以使用安全协议,或校验码来 可用性:合法用户可以使用合法的方式来用到相应的资源。【DDOS攻击破坏的就是服务器的可用性】 不可抵赖性主要手段就是数字签名,签名可以识别发送者的身份,发送者不可抵赖。 2, 对称加密技术 在加密和解密的时候使用的密钥一样 (1) ,非对称的加密技术 公钥加密,私钥解密。或者,私钥加密,公钥解密。 (2) ,我们使用的RAR 的压缩包,pdf ,word 都可以加密码,他们都属于对称的加密技术【加密解密密钥相同】 (3) ,常见的对称技术加密算法 DES算法加密过程采用的手段主要是替换+移位的方式 替换:会有个密码表,保存了明文密文的对应关系,直接查表,翻译。【很普遍】 移位:一旦移位就会导致字母跟原来的情况完全不一样【常用】

携程apollo配置中心搭建

扶醉桌前 提交于 2020-03-10 19:41:37
服务jar包及初始化数据库脚本下载:(包括单机快速部署版本、加密版本、非加密版本) 链接: https://pan.baidu.com/s/1_P3Ux-2tVWWWL53S5G1HsA 提取码:lnf2 云盘的Apollo是在原官方1.3版本基础上做过二次开发,请务必通过云盘链接下载相应的zip包。 Apollo统一使用JDK1.8及以上版本。 以上包对原apollo的端口进行了统一更改: 相应服务 原端口 平台调整后端口 备注 apollo-configservice 8080 9001 微服务配置的连接Apollo的地址 apollo-portal 8070 9003 Apollo的可视化配置页面 apollo-adminsservice 8090 9002 Apollo自己的注册中心 一、数据库初始化 Mysql数据库注意:Mysql的大小写敏感配置。 在Mysql数据库中新增两个数据库:apolloconfigdb和apolloportaldb,字符集及排序规则如下: 将云盘下对应的apolloconfigdb.sql和apolloportaldb.sql中的数据库脚本分别在apolloconfigdb和apolloportaldb中执行。 二、apollo快速部署 Apollo快速部署,只需执行一次启动,即可将apollo对应的admin-service、config

认识MD5加密数据库中的用户密码

五迷三道 提交于 2020-03-05 08:13:17
现在网络上一般的网站,稍微完善一点的,往往都需要用户先注册,提供诸如电子邮件、账号、密码等信息以后,成为网站栏目的注册用户,才可以享受网站一些特殊栏目提供的信息或者服务,比如免费电子邮件、论坛、聊天等,都需要用户注册。而对于电子商务网站,比如igo5等大型电子商务网站,用户需要购买商品,就一定需要详细而准确的注册,而这些信息,往往是用户很隐秘的信息,比如电话、电子邮件、地址等,所以,注册信息对于用户和网站都是很重要的资源,不能随意透露,更加不能存在安全上的隐患。 如果我们也设计一个需要用户注册的网站,根据现在的常用技术实现方法,可以在数据库中建立一个用于存放用户信息的表,这个表中至少包括用户账号字段:UserAccount和用户密码字段:Password,当然,实际应用中一个用户信息表不可能就只有这些信息,往往根据网站服务要求,会适当增加一些其他的信息,以方便网站提供更加完善的服务。一般的,一个用户信息占用这个用户信息表的一行也就是一个数据记录,当用户登录或者提交资料的时候,程序将用户填写的信息与表中的信息对照,如果用户账号和密码都准确无误,那么说明这个用户是合法用户,通过注册;反之,则是非法用户,不许通过。 然而,是不是这样就安全了了? 是不是这样就能满足网站的注册要求了呢? 仔细想想,我们一般将用户资料直接保存在数据库中,并没有进行任何的保密措施

sql 加密

安稳与你 提交于 2020-02-25 07:31:13
简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程。在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在的机房,而是作为当数据库被破解或是备份被窃取后的最后一道防线。通过加密,使得未被授权的人在没有密钥或密码的情况下所窃取的数据变得毫无意义。这种做法不仅仅是为了你的数据安全,有时甚至是法律所要求的(像国内某知名IT网站泄漏密码这种事在中国可以道歉后不负任何责任了事,在米国妥妥的要破产清算)。 SQL Server中的加密简介 在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。 到了SQL Server2005,引入了列级加密。使得加密可以对特定列执行,这个过程涉及4对加密和解密的内置函数 SQL Server 2008时代,则引入的了透明数据加密(TDE),所谓的透明数据加密,就是加密在数据库中进行,但从程序的角度来看就好像没有加密一样,和列级加密不同的是,TDE加密的级别是整个数据库。使用TDE加密的数据库文件或备份在另一个没有证书的实例上是不能附加或恢复的。 加密的一些基础知识

细说SQL Server中的加密 --zt

北城以北 提交于 2020-02-18 07:17:00
简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程。在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在的机房,而是作为当数据库被破解或是备份被窃取后的最后一道防线。通过加密,使得未被授权的人在没有密钥或密码的情况下所窃取的数据变得毫无意义。这种做法不仅仅是为了你的数据安全,有时甚至是法律所要求的(像国内某知名IT网站泄漏密码这种事在中国可以道歉后不负任何责任了事,在米国妥妥的要破产清算)。 SQL Server中的加密简介 在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。 到了SQL Server2005,引入了列级加密。使得加密可以对特定列执行,这个过程涉及4对加密和解密的内置函数 SQL Server 2008时代,则引入的了透明数据加密(TDE),所谓的透明数据加密,就是加密在数据库中进行,但从程序的角度来看就好像没有加密一样,和列级加密不同的是,TDE加密的级别是整个数据库。使用TDE加密的数据库文件或备份在另一个没有证书的实例上是不能附加或恢复的。 加密的一些基础知识

细说SQL Server中的加密

醉酒当歌 提交于 2020-02-16 05:55:37
简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程。在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在的机房,而是作为当数据库被破解或是备份被窃取后的最后一道防线。通过加密,使得未被授权的人在没有密钥或密码的情况下所窃取的数据变得毫无意义。这种做法不仅仅是为了你的数据安全,有时甚至是法律所要求的(像国内某知名IT网站泄漏密码这种事在中国可以道歉后不负任何责任了事,在米国妥妥的要破产清算)。 SQL Server中的加密简介 在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。 到了SQL Server2005,引入了列级加密。使得加密可以对特定列执行,这个过程涉及4对加密和解密的内置函数 SQL Server 2008时代,则引入的了透明数据加密(TDE),所谓的透明数据加密,就是加密在数据库中进行,但从程序的角度来看就好像没有加密一样,和列级加密不同的是,TDE加密的级别是整个数据库。使用TDE加密的数据库文件或备份在另一个没有证书的实例上是不能附加或恢复的。 加密的一些基础知识

使用 Jasypt 保护数据库配置

放肆的年华 提交于 2020-02-14 07:00:15
一、概述 Jasypt 是一个Java库,允许开发人员以很简单的方式添加基本加密功能,而无需深入研究加密原理。其具有以下特性: 1、高安全性的,基于标准的加密技术,无论是单向和双向加密。加密密码,文本,数字,二进制文件... 2、集成Hibernate的。 3、可集成到Spring应用程序中,与Spring Security集成。 4、集成的能力,用于加密的应用程序(即数据源)的配置。 5、特定功能的高性能加密的multi-processor/multi-core系统。 6、与任何JCE提供者使用开放的API。 这里主要讲述与Spring应用程序集成方法。 二、操作步骤 1、加密密码 从 Jasypt 官网,下载压缩包,解压到本地磁盘目录。在 /jasypt-1.9.2/bin 目录下有8个文件,encrypt.sh 加密、decrypt.sh 解密。可输入该命令回车,回显命令的具体参数信息。下面演示如何加密、解密一个密码串。 首先演示加密明文密码串为密文: [root@oracle ~]#encrypt input=root123 password=::Lazy@8 algorithm=PBEWITHMD5ANDDES ----ENVIRONMENT----------------- Runtime: Sun Microsystems Inc. Java HotSpot(TM)

如何在PHP中保护数据库密码?

北战南征 提交于 2020-02-09 14:22:46
当 PHP 应用程序建立数据库连接时,通常当然需要传递登录名和密码。 如果我为我的应用程序使用单个最小权限登录名,则PHP需要在某个地方知道该登录名和密码。 保护该密码的最佳方法是什么? 似乎只在PHP代码中编写它不是一个好主意。 #1楼 另一个技巧是使用一个如下所示的PHP单独的配置文件: <?php exit() ?> [...] Plain text data including password 这不会阻止您正确设置访问规则。 但是,如果您的网站被黑,“ require”或“ include”将仅在第一行退出脚本,因此更难以获取数据。 但是,永远不要将配置文件放在可以通过Web访问的目录中。 您应该有一个“ Web”文件夹,其中包含您的控制器代码,css,图片和js。 就这样。 脱机文件夹中还有其他内容。 #2楼 最安全的方法是完全不使用PHP代码中指定的信息。 如果使用Apache,则意味着在httpd.conf或虚拟主机文件文件中设置连接详细信息。 如果这样做,则可以不带任何参数调用mysql_connect(),这意味着PHP将永远不会输出您的信息。 这是您在这些文件中指定这些值的方式: php_value mysql.default.user myusername php_value mysql.default.password mypassword php

细说SQL Server中的加密

时光总嘲笑我的痴心妄想 提交于 2020-02-01 09:50:17
简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程。在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在的机房,而是作为当数据库被破解或是备份被窃取后的最后一道防线。通过加密,使得未被授权的人在没有密钥或密码的情况下所窃取的数据变得毫无意义。这种做法不仅仅是为了你的数据安全,有时甚至是法律所要求的(像国内某知名IT网站泄漏密码这种事在中国可以道歉后不负任何责任了事,在米国妥妥的要破产清算)。 SQL Server中的加密简介 在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。 到了SQL Server2005,引入了列级加密。使得加密可以对特定列执行,这个过程涉及4对加密和解密的内置函数 SQL Server 2008时代,则引入的了透明数据加密(TDE),所谓的透明数据加密,就是加密在数据库中进行,但从程序的角度来看就好像没有加密一样,和列级加密不同的是,TDE加密的级别是整个数据库。使用TDE加密的数据库文件或备份在另一个没有证书的实例上是不能附加或恢复的。 加密的一些基础知识

(5.3.7)数据库迁移——sql server备份文件的加密解密

久未见 提交于 2020-01-07 12:41:28
嗯,最近在研究数据库备份相关的东西,考虑到应该为数据库备份加个密,就准备从网上搜索一下看看有什么好办法,没想到还挺乱。。。 首先,我从网上搜到的,对数据库备份加密的方法,主要有三种: 【1】使用With Password(2008以下(含)) 在使用 BACKUP 语句时,添加 PASSWORD 参数【此方法适用于 sql server 2012 以前的版本(不包含 2012)】 不过呢,其实这个 PASSWORD 参数的加密,并不是我们想象中的对数据完整的加密。 案例: --备份 Backup Database [数据库] To disk='c:\mssql'+ replace(replace(replace(replace(CONVERT(varchar, getdate(), 121),'-',''),' ',''),':',''),'.','') +'.bak' With Password = '123',init; --还原 Restore Database [数据库] From disk=数据库备份文件地址 With Password = '123'; 根据 MSDN 中的介绍: https://msdn.microsoft.com/zh-cn/library/ms186865(v=sql.100).aspx 貌似此密码仅仅是给备份附加了一个密码,并没有对备份数据加密