网站大量收购独家精品文档,联系QQ:2885784924

Java方法加密与解密.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java方法加密与解密

我们在Web开发中,经常要保证密码的安全性,那么怎么对密码进行处理了?首先得进行加密吧!下面我介绍下Java?提供的SHA加密方式;SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而人们给它取了一个非正式的名称 SHA-0 以避免与它的后继者混淆。两年之后, SHA-1,第一个 SHA 的后继者发布了。 另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计: SHA-224, SHA-256, SHA-384 和 SHA-512 (这些有时候也被称做 SHA-2)。[java]?view plain?copypackage?com.chinadatapay.util;????import?java.security.MessageDigest;????/**??*?SHA?加密算法??*?@author?DELL??*??*/????public?class?SHAencrypt??{????????/**???????*?定义加密方式???????*/????????private?final?static?String?KEY_SHA?=?SHA;????????private?final?static?String?KEY_SHA1?=?SHA-1;????????????/**???????*?全局数组???????*/????????private?final?static?String[]?hexDigits?=?{?0,?1,?2,?3,?4,?5,????????????????6,?7,?8,?9,?a,?b,?c,?d,?e,?f?};????????????/**???????*?构造函数???????*/????????public?SHAencrypt()?{????????????}????????????/**???????*?SHA?加密???????*?@param?data?需要加密的字节数组???????*?@return?加密之后的字节数组???????*?@throws?Exception???????*/????????public?static?byte[]?encryptSHA(byte[]?data)?throws?Exception?{????????????//?创建具有指定算法名称的信息摘要????//????????MessageDigest?sha?=?MessageDigest.getInstance(KEY_SHA);????????????MessageDigest?sha?=?MessageDigest.getInstance(KEY_SHA1);????????????//?使用指定的字节数组对摘要进行最后更新????????????sha.update(data);????????????//?完成摘要计算并返回????????????return?sha.digest();????????}????????????/**???????*?SHA?加密???????*?@param?data?需要加密的字符串???????*?@return?加密之后的字符串???????*?@throws?Exception???????*/????????public?static?String?encryptSHA(String?data)?throws?Exception?{????????????//?验证传入的字符串????????????if?(data?==?null?||?data.equals())?{????????????????return?;????????????}????????????//?创建具有指定算法名称的信息摘要????????????MessageDigest?sha?=?MessageDigest.getInstance(KEY_SHA);????????????//?使用指定的字节数组对摘要进行最后更新????????????sha.update(data.getBytes());????????????//?完成摘要计算????????????byte[]?bytes?=?sha.digest();????????????//?将得到的字节数组变成字符串返回????????????return?byteArrayToHexString(bytes);????????}????????????/**???????*?将一个字节转化成十六进

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档