`
peterwanghao
  • 浏览: 128288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache Shiro 加密

 
阅读更多

加密是使用密钥对数据进行可逆转换的加密算法。我们使用其保证数据的安全,尤其是传输或存储数据时,以及在数据容易被窥探的时候。

如果你曾经用过JDKCryptographyAPI,特别是javax.crypto.Cipher类,你会知道它是一头需要驯服的极其复杂的野兽。对于初学者,每个可能的加密配置总是由一个javax.crypto.Cipher实例表示。必须进行公钥/私钥加密?你得用Cipher。需要为流操作使用块加密器(BlockCipher)?你得用Cipher。需要创建一个AES256Cipher来保护数据?你得用Cipher

那么如何创建你需要的Cipher实例?您得创建一个非直观、标记分隔的加密选项字符串,它被称为“转换字符串(transformationstring)”,把该字符串传给Cipher.getInstance静态工厂方法。这种字符串方式的cipher选项,并没有类型安全以确保你正在用有效的选项。这也暗示没有JavaDoc帮你了解相关选项。并且,如果字符串格式组织不正确,你还需要进一步处理CheckedException,即便你知道配置是正确的。如你所见,使用JDKCipher是一项相当繁重的任务。很久以前,这些技术曾经是JavaAPI的标准,但是世事变迁,我们需要一种更简单的方法。

Shiro通过引入它的CipherServiceAPI试图简化加密密码的整个概念。CipherService是多数开发者在保护数据时梦寐以求的东西:简单、无状态、线程安全的API,能够在一次方法调用中对整个数据进行加密或解密。你所需要做的只是提供你的密钥,就可根据需要加密或解密。如下列所示中,使用256AES加密:

AesCipherServicecipherService=newAesCipherService();

cipherService.setKeySize(256);

//创建一个测试密钥:

byte[]testKey=cipherService.generateNewKey();

//加密文件的字节:

byte[]encrypted=cipherService.encrypt(fileBytes,testKey);

较之JDKCipherAPIShiro的示例要简单的多:

l你可以直接实例化一个CipherService-没有奇怪或让人混乱的工厂方法;

lCipher配置选项可以表示成JavaBean-兼容的gettersetter方法-没有了奇怪和难以理解的“转换字符串”;

l加密和解密在单个方法调用中完成;

l没有强加的CheckedException。如果愿意,可以捕获ShiroCryptoException

ShiroCipherServiceAPI还有其他好处,如同时支持基于字节数组的加密/解密(称为“块”操作)和基于流的加密/解密(如加密音频或视频)。

不必再忍受JavaCryptography带来的痛苦。ShiroCryptography支持就是为了减少你在确保数据安全上付出的努力。

Shiro中加密功能的特点:

面向对象的层次结构—与JCE不同,Shiro的密码功能遵循面向对象的类层次结构:象AbstractSymmetricCipherServiceDefaultBlockCipherServiceAesCipherService等等,这使您可以很容易地替换掉现有的类或是扩展其功能。

只需实例化一个类—与JCE的混乱使用字符串标记参数的工厂方法不同,使用Shiro加密是非常容易的,只需实例化一个类。配置必要的JavaBean的属性,并根据需要使用。例如,新的AesCipherService()。

更安全的默认设置JCE默认情况下并不会自动实现更安全的选择。而Shiro会提供更安全的选择,以确保您的数据是安全的。因为默认情况下,它会自动启用以帮助您防止意外的安全漏洞。

分享到:
评论

相关推荐

    Apache Shiro教程

    Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等功能。这个教程将帮助你深入理解和有效地使用Shiro框架。在本文中,我们将详细探讨Shiro的核心概念、主要功能和常见用法...

    Apache shiro1.2.4反序列化漏洞介绍.docx

    Apache Shiro是一个全面的Java安全框架,用于处理应用程序的安全需求,包括身份验证、授权、密码管理和会话管理。它的核心功能之一是“RememberMe”服务,该服务允许用户在关闭浏览器后仍然保持登录状态,无需在下次...

    Apache shiro 1.13.0源码

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。Shiro 1.13.0 是其一个重要的版本,包含了多项更新和改进。在这个版本中,开发者可以深入理解其...

    Apache Shiro中文开发文档.pdf

    - **定义**:Apache Shiro 是一款强大且灵活的开源安全框架,它致力于简化应用程序的安全性问题,包括身份验证(Authentication)、授权(Authorization)、会话管理(Session Management)以及加密(Cryptography)...

    Apache_Shiro_使用手册(一)Shiro架构介绍

    Apache Shiro 是一款功能强大且易于使用的 Java 安全框架,它提供了多种安全相关的功能和服务,包括但不限于认证、授权、加密和会话管理。相较于其他安全框架,Shiro 在设计上更为简洁明了,便于开发者的理解和使用...

    apache shiro 管理用户权限与数据库交互

    Apache Shiro是一个强大且易用的Java安全框架,它提供了身份验证、授权、加密和会话管理等功能。本文将深入探讨如何使用Apache Shiro管理用户权限,并与数据库进行交互,以便实现动态、灵活的安全策略。 ### 一、...

    Apache Shiro核心jar包:shiro-core-1.3.2

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    让Apache Shiro保护你的应用

    ### Apache Shiro:全方位守护应用安全 #### 一、Apache Shiro概述 **Apache Shiro**(发音为“shee-roh”,意为日语中的“堡垒”)是一款功能强大且易于使用的Java安全框架,旨在为各类应用提供全面的安全保障。...

    Apache Shiro中文版使用手册

    Apache Shiro 是一款强大的 Java 安全框架,它集成了认证、授权、加密和会话管理等功能。这些功能使得 Shiro 成为了一个全面的安全解决方案,适用于各种类型的应用程序。 - **认证**:是指确认用户的身份,通常指的...

    Apache Shiro 集成-spring

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。Shiro 不仅可以用于Java Web 应用,也可以用于独立的Java应用。在集成Spring时,Shiro ...

    spring mvc、apache shiro、mysql 框架搭建,基于maven构建

    Apache Shiro是一款轻量级的安全框架,用于处理身份认证、授权、会话管理和加密。在Spring MVC应用中,Shiro可以轻松地集成,提供用户登录、权限控制等功能。例如,它可以验证用户凭证,确保只有授权的用户才能访问...

    apache shiro 实例

    Apache Shiro 是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。本实例将深入探讨 Apache Shiro 的核心概念和常见用法。 1. **认证**:Shiro 提供了用户身份...

    SpringBoot + Apache Shiro1.9.1 最新版本详细教程,基于RBAC角色访问、安全管理框架、用户角色权限

    springboot、shiro、mybatis、mybatis plus、mysql、thymeleaf、 3、实现功能:登陆认证、密码加密、权限授权等 4、优点:快速上手、全面支持验证、授权、加密和会话、灵活自定义设计、支持web环境、可以无缝集成...

    shiro最简单整合版本

    Apache Shiro 是一个强大且易用的 Java 安全框架,提供身份认证、授权、加密和会话管理功能,简化了处理安全性的工作。在本文中,我们将深入探讨 Apache Shiro 的核心概念及其最简单的整合方式。 一、Shiro 的核心...

    apache shiro文档

    Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证、授权、加密和会话管理功能,可以非常方便地为应用程序提供安全保障。本文档合集包含了多个 PDF 文件,全面覆盖了 Apache Shiro 的核心概念和使用方法...

    Apache_Shiro参考手册中文版.zip

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应 ...

    让Apache_Shiro保护你的应用.pdf

    ### Apache Shiro:全方位守护你的应用安全 #### 引言 在当今数字化时代,信息安全已成为企业和个人关注的焦点。随着互联网技术的飞速发展,应用系统面临着越来越多的安全挑战,包括但不限于身份验证、权限控制和...

    Spring MVC+Mybatis+Ehcache+Apache Shiro+Bootstrap整合开发java仓库管理系统源码

    Apache Shiro是一个强大且易用的安全管理框架,用于身份验证、授权、会话管理和加密。在仓库管理系统中,Shiro可以实现用户登录验证、角色权限分配、访问控制等功能,确保只有经过认证和授权的用户才能访问特定的...

    apache-shiro教程完整版.7z

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。张开涛的《跟我学Shiro》是一本深入浅出的教程,旨在帮助读者快速掌握Shiro的核心概念...

    Apache shiro权限控制基础配置代码

    Apache Shiro是一款强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等核心功能。在本文中,我们将深入探讨Apache Shiro的基础配置和代码实现,以帮助你理解如何有效地使用Shiro进行权限控制...

Global site tag (gtag.js) - Google Analytics