SHA-256加密算法封装[我的代码库]

简介:

import java.security.MessageDigest; 
import java.security.NoSuchAlgorithmException;

public class SHA256Test { 
    public static final String ALGORITHM = "SHA-256";

    public static String SHA256Encrypt(String orignal) { 
        MessageDigest md = null; 
        try { 
            md = MessageDigest.getInstance(ALGORITHM); 
        } catch (NoSuchAlgorithmException e) { 
            e.printStackTrace(); 
        } 
        if (null != md) { 
            byte[] origBytes = orignal.getBytes(); 
            md.update(origBytes); 
            byte[] digestRes = md.digest(); 
            String digestStr = getDigestStr(digestRes); 
            return digestStr; 
        }

        return null; 
    }

    private static String getDigestStr(byte[] origBytes) { 
        String tempStr = null; 
        StringBuilder stb = new StringBuilder(); 
        for (int i = 0; i < origBytes.length; i++) { 
            // System.out.println("and by bit: " + (origBytes[i] & 0xff)); 
            // System.out.println("no and: " + origBytes[i]); 
            // System.out.println("---------------------------------------------"); 
            // 这里按位与是为了把字节转整时候取其正确的整数,java中一个int是4个字节 
            // 如果origBytes[i]最高位为1,则转为int时,int的前三个字节都被1填充了 
            tempStr = Integer.toHexString(origBytes[i] & 0xff); 
            if (tempStr.length() == 1) { 
                stb.append("0"); 
            } 
            stb.append(tempStr);

        } 
        return stb.toString(); 
    }

    public static void main(String[] args) { 
        System.out.println(SHA256Encrypt("AAaa11")); 
    }

}



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2012/07/29/2614131.html,如需转载请自行联系原作者

目录
相关文章
|
JSON Java 数据安全/隐私保护
java中的http请求的封装(GET、POST、form表单、JSON形式、SIGN加密形式)
java中的http请求的封装(GET、POST、form表单、JSON形式、SIGN加密形式)
931 1
|
11月前
|
存储 Java 数据库
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
这篇文章介绍了如何在Java中通过加盐和加密算法(如MD5和SHA)安全地存储密码,并提供了一个密码工具类PasswordUtils和密码编码类PasswordEncoder的实现示例。
387 10
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
|
算法 调度 C语言
C/C++学习 -- SHA-256算法
C/C++学习 -- SHA-256算法
669 0
|
存储 算法 数据安全/隐私保护
基于SHA-256的大文档加密模块设计与实现
基于SHA-256的大文档加密模块设计与实现
|
存储 编解码 监控
云端加密代码库问题之企业设置网络隔离如何解决
云端加密代码库问题之企业设置网络隔离如何解决
|
算法 调度 C语言
C/C++学习 -- SHA-256算法
C/C++学习 -- SHA-256算法
377 0
|
存储 前端开发 API
还在直接用localStorage么?全网最细:本地存储二次封装(含加密、解密、过期处理)
很多人在用 localStorage 或 sessionStorage 的时候喜欢直接用,明文存储,直接将信息暴露在;浏览器中,虽然一般场景下都能应付得了且简单粗暴,但特殊需求情况下,比如设置定时功能,就不能实现。就需要对其进行二次封装,为了在使用上增加些安全感,那加密也必然是少不了的了。为方便项目使用,特对常规操作进行封装。
975 1
还在直接用localStorage么?全网最细:本地存储二次封装(含加密、解密、过期处理)
|
Web App开发 Rust 安全
谷歌改善 Chrome 内存安全:通过 heap scanning 算法减少 C++ 代码库安全漏洞
谷歌改善 Chrome 内存安全:通过 heap scanning 算法减少 C++ 代码库安全漏洞
271 0
谷歌改善 Chrome 内存安全:通过 heap scanning 算法减少 C++ 代码库安全漏洞
|
数据安全/隐私保护
rsa 生成密匙 ,密匙导出,加密解密封装
rsa 生成密匙 ,密匙导出,加密解密封装
248 0
|
JSON 运维 监控
接口测试框架实战 | 流程封装与基于加密接口的测试用例设计
接口测试仅仅掌握 Requests 或者其他一些功能强大的库的用法,是远远不够的,还需要具备能根据公司的业务流程以及需求去定制化一个接口自动化测试框架的能力。所以,接下来,我们主要介绍下接口测试用例分析以及通用的流程封装是如何完成的。 首先在做用例分析之前,可以通过追查公司一年来所有的故障原因,定位问题起因,或者通过与 CTO、产品经理、研发、运维、测试调查,得到质量痛点,还可以分析业务架构、

热门文章

最新文章