加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

编解码工具类——SHA1算法

发布时间:2020-12-17 01:00:24 所属栏目:安全 来源:网络整理
导读:编解码工具类——SHA1算法 系统接口之间进行交互,或采用WebService方式,或采用HTTP方式;无论采用哪一种方式,都会涉及安全性问题。提高安全性方法之一就是对交互数据进行编、解码操作。所以在此编写了一个编解码工具类,实现功能复用。该类引用了Bouncy C

编解码工具类——SHA1算法

系统接口之间进行交互,或采用WebService方式,或采用HTTP方式;无论采用哪一种方式,都会涉及安全性问题。提高安全性方法之一就是对交互数据进行编、解码操作。所以在此编写了一个编解码工具类,实现功能复用。该类引用了Bouncy Castle开源项目中的bcprov-jdk15-145.jar包。

???? Bouncy Castle是一种用于Java平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。Bouncy Castle是轻量级的,从J2SE 1.4到J2ME(包括MIDP)平台,它都可以运行。它是在MIDP上运行的唯一完整的密码术包。

下载地址:http://www.bouncycastle.org/latest_releases.html

可依据项目所用JDK,下载Provider下相应的JAR包。

Java代码

  1. /**
  2. * SHA1编码
  3. * @param in 待编码值
  4. * @return 已编码值
  5. */?
  6. public static byte[] sha1Encode(String in) {?
  7. ??? byte[] out = null;?
  8. ??? try {?
  9. ??????? Digest digest = new SHA1Digest();?
  10. ??????? digest.update(in.getBytes(CHARSET),in.length());?
  11. ??????? out = new byte[digest.getDigestSize()];?
  12. ??????? digest.doFinal(out,0);?
  13. ?
  14. ??? } catch (UnsupportedEncodingException e) {?
  15. ??????? logger.error("SHA1编码操作,不支持字符集" + CHARSET + "!");?
  16. ??? }?
  17. ??? return out;?
  18. }?

?? 该方法引用了Bouncy Castle包。

Java代码

  1. /**
  2. * SHA1编码
  3. * @param in 待编码值
  4. * @return 已编码值
  5. */?
  6. public static byte[] sha1InternalEncode(String in) {?
  7. ??? byte[] out = null;?
  8. ??? try {?
  9. ??????? MessageDigest messagedigest = MessageDigest.getInstance("SHA-1");?
  10. ??????? messagedigest.update(in.getBytes(CHARSET));?
  11. ??????? out = messagedigest.digest();?
  12. ??? } catch (NoSuchAlgorithmException e) {?
  13. ??????? logger.error("SHA1编码出错!",e);?
  14. ??? } catch (UnsupportedEncodingException e) {?
  15. ??????? logger.error("SHA1编码操作,不支持字符集" + CHARSET + "!");?
  16. ??? }?
  17. ??? return out;?
  18. }?
?
?

该方法只使用了JDK基础包。经过测试,上述两种方法在效率上不相上下。

地址;http://lisq037.iteye.com/blog/607089

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读