`

Spring提供的几种加密类

 
阅读更多

 

执行认证操作公共接口: PasswordEncoder

 

PlaintextPasswordEncoder: 密码明文实现类

Plaintext implementation of PasswordEncoder.

As callers may wish to extract the password and salts separately from the encoded password, the salt must not contain reserved characters (specifically '{' and '}').

Md4PasswordEncoder:

MD4 implementation of PasswordEncoder.

If a null password is presented, it will be treated as an empty String ("") password.

As MD4 is a one-way hash, the salt can contain any characters.

 

Md5PasswordEncoder:

MD5 implementation of PasswordEncoder.

If a null password is presented, it will be treated as an empty String ("") password.

As MD5 is a one-way hash, the salt can contain any characters.

 

ShaPasswordEncoder:

SHA implementation of PasswordEncoder.

If a null password is presented, it will be treated as an empty String ("") password.

As SHA is a one-way hash, the salt can contain any characters. The default strength for the SHA encoding is SHA-1. If you wish to use higher strengths use the argumented constructor。

 

 

常有的加密算法说明如下:

 

1) MD4

  MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年设计的,MD 是 Message Digest 的缩写。它适用在32位字长的处理器上用高速软件 实现--它是基于 32 位操作数的位操作来实现的。

2) MD5

  MD5(RFC 1321)是 Rivest 于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与 MD4 相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好

3) SHA1 及其他

  SHA1是由NIST NSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1 设计时基于和MD4相同原理,并且模仿了该算法。

 

 

Spring Security下配置这些加密如下:

 

	<bean id="blPasswordEncoder" class="org.springframework.security.authentication.
             encoding.PlaintextPasswordEncoder"/>

        <sec:authentication-manager alias="blAuthenticationManager">
		<sec:authentication-provider user-service-ref="blUserDetailsService" >
			<sec:password-encoder ref="blPasswordEncoder"/>
		</sec:authentication-provider>
	</sec:authentication-manager>
 

 

 

 

  • 大小: 39.6 KB
分享到:
评论

相关推荐

    spring配置文件加密实现

    总结来说,Spring配置文件加密实现涉及到以下几个关键步骤: 1. 选择并实现加密算法(如AES)。 2. 使用TE网络技术创建透明加密的文件系统。 3. 自定义或调整Spring的启动流程,使其能够通过加密层读取配置文件。 4...

    在Spring中使用加密外部属性文件

    Spring默认的`PropertyPlaceholderConfigurer`不直接支持加密的属性文件,但它提供了扩展点,允许我们自定义实现来处理加密后的属性。以下是一种实现方式: 1. 创建一个自定义的`PropertyPlaceholderConfigurer`...

    spring中的数据源配置信息加密方案

    为了解决这个问题,我们可以采用以下几种策略: 1. **属性文件加密**:可以使用Java的Jasypt库对`application.properties`或`application.yml`中的敏感信息进行加密。Jasypt提供了`PBEWithMD5AndTripleDES`等加密...

    jasypt加密_spring整合.zip

    首先,Jasypt提供了两种主要的加密模式:强加密(Strong Encryption)和简单加密(Simple Encryption)。强加密模式使用了如AES、Blowfish等算法,提供更高的安全性;而简单加密模式则使用了基于口令的加密,更适合...

    Spring boot,springCloud精选视频教程

    6.Spring RestTemplate中几种常见的请求方式 7.RestTemplate的逆袭之路,从发送请求到负载均衡 8.Spring Cloud中负载均衡器概览 9.Spring Cloud中的负载均衡策略 10.Spring Cloud中的断路器Hystrix 11.Spring ...

    ClassFinal是一款java class文件安全加密工具

    总的来说,ClassFinal作为一款Java class文件安全加密工具,为开发者提供了一种简单、高效的代码保护方案,尤其适合于那些重视代码安全但又不想改动大量代码的企业级项目。其兼容性和易用性使其在Java开发领域具有...

    rsa加密算法的实现

    RSA加密算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因其三位发明者的名字首字母命名。它在信息安全领域有着广泛的应用,如数字签名、数据加密以及网络安全传输等。在C语言...

    springboot之yml配置文件信息加密.docx

    Jasypt 是一个 Java 库,提供了一种简单的方式来为项目增加加密功能。Jasypt 使用的加密算法是 PBEWithMD5AndDES(对称加密),中文名“基于口令加密”,是一种基于密码的加密算法。该算法的特点是使用口令代替了...

    jdk1.8实现http接口rsa加密解密.zip

    在Spring MVC中实现RSA加密解密,通常分为以下几个步骤: 1. **生成RSA密钥对**:使用Java的`java.security.KeyPairGenerator`类生成RSA密钥对,包括公钥和私钥。可以通过指定密钥长度(如1024位或2048位)来控制...

    spring源码文件压缩

    9. **Spring Security**:这是一个全面的安全框架,用于保护Spring应用,提供认证、授权、加密等功能。 10. **Spring Batch**:用于处理批量操作,包括读取、处理和写入大量数据,支持可重试、分步和事务管理。 ...

    spring boot oauth2 jwt 中文文档.docx

    Spring Boot 提供了一个 spring-security-jwt 模块,用于生成和验证 JWT。 在使用 Spring Boot 集成 OAuth2 授权框架时,我们需要注意以下几点: * 需要正确地配置授权服务器和资源服务器 * 需要正确地实现身份...

    Shiro+Spring Security学习文档

    在IT安全领域,Apache Shiro和Spring Security是两个非常重要的框架,它们主要用于应用程序的安全管理,包括身份验证、授权、会话管理和加密等。本学习文档集合了这两个框架的相关知识,旨在帮助开发者深入理解和...

    Spring Security tutorial 学习笔记(一)

    Spring Security 提供了几种身份验证机制,包括基于表单的身份验证、基于 HTTP 基本身份验证(Basic Auth)和基于令牌的身份验证(如 OAuth2)。在基于表单的身份验证中,用户提交登录信息后,`...

    spring的介绍(有具体分类的)

    5. **Spring AOP**:专门用于实现面向切面编程的模块,它提供了一种声明式的方式来处理横切关注点,如事务管理、日志记录等,使得这些功能可以独立于业务逻辑之外。 6. **Spring Web**:针对Web开发的模块,包括...

    最新版spring-framework-4.3.12.RELEASE-dist 完整包

    1. **依赖注入**:Spring 提供了一种强大的依赖注入机制,使得对象之间的依赖关系可以通过配置文件或注解来管理,而不是硬编码在类内部。这样增强了代码的可测试性和可维护性。 2. **AOP(面向切面编程)**:Spring...

    cxf+spring实现webservice

    在IT行业中,开发Web服务是常见的需求,而CXF和Spring框架的结合为开发者提供了一种高效、灵活的方式来实现Web Service。本篇将深入探讨如何利用CXF和Spring来创建、部署和消费Web Service。 CXF,全称CXF Commons ...

    springsecurity中文

    该命名空间提供几种标准选项,意味着使用传统语法添加自定义 bean。 * UserDetailsService - 密切相关的认证供应器,但往往也需要由其他 bean 需要。 4. 开始使用安全命名空间配置 在本节中,我们来看看如何使用...

    spring cloud 官方文档

    Spring Cloud 通过以下几种具体方式促进了这种开发风格: - **分布式系统的基本特征**:Spring Cloud 的起点是一系列所有分布式系统组件都需要轻松访问的功能。 - **Spring Boot 的集成**:Spring Cloud 构建于 ...

    微服务安全架构(Spring Boot _ Spring Cloud-JWT).pdf

    整个文档描述了在构建和维护微服务架构时如何保证系统的安全,以及如何处理身份验证和授权的几种方案。 首先,要了解Spring Boot和Spring Cloud在微服务架构中的作用。Spring Boot为微服务提供了一个便捷的开发平台...

Global site tag (gtag.js) - Google Analytics