数据库密码怎么加密的

作者:鲁叔雄 | 发布日期:2024-10-09 23:53:52

1、数据库里的密码为什么要加密

密码只属于用户自己:如果一个用户在多处使用同一个密码,因为你得到了他一个应用程序的密码,结果他的网银密码你也知道了,这是不可取的,因此,设计者一般都采用密码加密功能,甚至是单向加密,这样就是数据库,用户的密码也不会露,只有这样,用户才能放心地设置自己的密码!!

2、数据库里加密的密码是怎么实现的

一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1sha256md5等。

作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。 即时你的数据库库,得到的,也无法知道用户密码。

为什么加盐

举例 

在注册时,

假设你的密码是1234,一般服务器会加一个盐(随便一个乱的字符串),和你的密码加在一起,1234和efnU*(@#H!JKNF得到1234efnU*(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到91dc02c1fc2ce2252969e6b86173aa78,于是数据库里你的密码就变为了91dc02c1fc2ce2252969e6b86173aa78

登入时,

你输入1234,然后服务器用和注册相同的步骤进行加密,得到加密后的值,91dc02c1fc2ce2252969e6b86173aa78,将这个值与数据库的加密值比对,如果正确则登入。

3、springboot框架数据库密码怎么实现加密?

实现SpringBoot框架数据库密码加密的方法,首先引入开源库ulisesbocchio。 在pom文件中添加相关依赖。
接着,创建一个类并实现ulisesbocchio包的EncryptablePropertyResolver接口,接口内仅包含一个方法,用于解密。 使用SM4对称加密算法实现解密逻辑,具体实现参考SM4算法相关文章。
代码示例中,通过判断配置项是否以(testcipher)为前缀,若符合条件则使用SM4算法进行解密,获取配置信息的明文。
随后,定义一个配置类,注入上述实现的TestEncryptablePropertyResolver类。 这样,配置信息便实现了加密。
为了验证配置信息的解密效果,编写测试类,启动项目后,日志中会输出解密后的配置信息,包括数据库密码。
在配置文件中,以加密形式存储数据库密码。 项目启动时,会自动进行解密作,输出明文形式的配置信息,包括数据库密码。
此方法适用于SpringBoot框架下的数据库密码加密,实现过程简洁明了,详细步骤可参考相关文章。

4、数据库加密方式有哪些

数据库加密方式主要包括以下几种:


1.数据本身加密


对数据库中的敏感数据进行直接加密处理,通过加密算法将数据进行转换,使得未经授权的用户无法直接读取数据。 这种方式能够保护数据的隐私和安全。 常用的加密算法包括对称加密算法(如AES)和非对称加密算法(如RSA)。


2.数据库字段级加密


在这种加密方式下,数据库中的特定字段(如密码、个信息等敏感字段)会单独加密。 这种方式能够更灵活地控哪些数据需要保护,并且可以支对特定字段的细粒度访问控。 通常使用的技术包括字段级别的透明数据加密(例如Oracle的透明数据加密)。


3.数据库连接加密


除了数据本身的加密,数据库连接的加密也非常重要。 数据库连接加密主要是确保客户端与数据库服务器之间的通信安全。 这通常通过SSL/TLS协议实现,它能够确保数据传输过程中的保密性和完整性。 当客户端与数据库建立连接时,双方会进行SSL握手,协商加密方式和密钥,确保通信的安全。


4.磁盘加密技术


对于整个数据库文件的加密,磁盘加密技术是一个选择。 该技术能够对存储在磁盘上的数据库文件进行加密,从而防止未经授权的用户访问文件。 这种方式提供了一个整体的保护层,但可能牺牲一些性能。 常见的磁盘加密技术包括BitLocker和全磁盘加密等。


5、数据库数据的加密可以实现的层次有

数据库级别加密、表级别加密等。
1、数据库级别加密:在数据库引擎层面对整个数据库进行加密。 这种方式可以保护整个数据库的数据,包括表、图、存储过程等。 常见的数据库级别加密技术包括透明数据加密(TDE)和加密文件系统(EFS)等。
2、表级别加密:对数据库中的特定表进行加密。 可以通过加密算法对表中的敏感数据进行加密,只有授权的用户才能解密和访问。 这种方式可以在数据库中存储明文和密文数据。