`
envoydada
  • 浏览: 64932 次
社区版块
存档分类
最新评论

SHA-1&MD5

阅读更多

 

import  java.security. * ;

public   class  Security {
    
    
/**
     * 字符串加密方法。传入一个字符串,返回经过SHA-1加密后的一个字符串
     * 
@param  strInput
     * 
@return
     
*/
    
public   static  String encryptSHA(String strInput) {
        String strOutput 
=   new  String( "" );
        
try  {
            MessageDigest md 
=  MessageDigest.getInstance( " SHA-1 " );
            md.update(strInput.getBytes());
            
byte  b[]  =  md.digest();
            
for ( int  i = 0 ;i < b.length;i ++ ) {
                
char [] digit  =  {  ' 0 ' , ' 1 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' , ' 7 ' , ' 8 ' , ' 9 ' , ' A ' , ' B ' , ' C ' , ' D ' , ' E ' , ' F '  };
                
char  [] ob  =   new   char [ 2 ];
                ob[
0 =  digit[(b[i]  >>>   4 &   0X0F ];
                ob[
1 =  digit[b[i]  &   0X0F ];
                strOutput 
+=   new  String(ob);
            }
        }
        
catch (NoSuchAlgorithmException nsae) {
            ex.printStackTrace();
        }        
        
        
return  strOutput;
    }
    
    
/**
     * 字符串加密方法。传入一个字符串,返回经过MD5加密后的一个字符串
     * 
@param  strInput
     * 
@return
     
*/
    
public   static  String encryptMD5(String strInput) {
        StringBuffer buf=null;       
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(strInput.getBytes());
            byte b[] = md.digest();   
             buf = new StringBuffer(b.length * 2);
            for(int i=0;i<b.length;i++) {
                if (((int)b[i] & 0xff) < 0x10) { // & 0xff转换无符号整型
                    buf.append("0");
                }
               // buf.append(Long.toString((int) b[i] & 0xff, 16));//转换16进制,下方法同
               buf.append(Long.toHexString((int)b[i] & 0xff));
            }
        }catch(NoSuchAlgorithmException ex) {
             ex.printStackTrace();
        }   
       return buf.toString();
    }
    
    
public   static   void  main(String args[]) {
        String test 
=   " Derek.G " ;
        System.out.print(encryptSHA(test));
    }
}
分享到:
评论

相关推荐

    windows校验MD5, SHA-1, SHA-256 & SHA-512工具

    在Windows操作系统中,我们可以使用各种工具来验证文件的MD5、SHA-1、SHA-256以及SHA-512哈希值,这些哈希算法都是用来生成文件唯一数字指纹的方法。 标题提到的"windows校验MD5, SHA-1, SHA-256 & SHA-512工具"是...

    Hash函数MD5与SHA-1算法实现

    MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛使用的哈希函数,它们在信息安全领域扮演着至关重要的角色。哈希函数是一种将任意长度的数据转换为固定长度输出的函数,这个输出...

    base64、DES、AES、SHA-1、MD5 字符串加密和解密 编码和解码 大全

    这个进行字符串加密 和解密 , 编码和 解码 包括(base64、DES、AES、SHA-1、MD5 ) ,都是亲测的,保证可用 这个进行字符串加密 和解密 , 编码和 解码 包括(base64、DES、AES、SHA-1、MD5 ) ,都是亲测的,保证...

    SHA-1和MD5加密工具包升级版(内附源码和使用文档)

    SHA-1和MD5是两种广泛使用的哈希函数,在信息安全领域尤其常见,它们主要用于数据的校验和加密。本文将详细介绍这两种加密算法及其在实际应用中的使用。 首先,SHA-1(Secure Hash Algorithm 1)是由美国国家安全局...

    SHA常用算法实现(SHA-1, SHA256, SHA384, SHA512)

    SHA-1算法基于MD4算法,但进行了增强,以提高安全性和抵御攻击的能力。在C语言实现中,会包括一系列的位操作、循环和加法,将输入消息转化为固定长度的散列结果。 2. SHA-256算法: SHA-256是SHA-2家族的一部分,...

    信息摘要算法示例.rar_SHA_SHA-1算法_md5_sha-1_sha-256

    在本示例中,我们关注的是MD5(Message-Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)以及SHA-256(Secure Hash Algorithm 2,256位版本)这三种常见的哈希函数。 MD5是由Ron Rivest在1991年开发的一种...

    计算和验证文件的 MD5 或 SHA-1 加密哈希值

    MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛使用的加密哈希函数,它们为文件提供了一种验证其完整性的方法。这些哈希算法将任意长度的数据转化为固定长度的输出,通常称为哈希...

    哈希算法MD5与SHA-1实现与比较

    压缩包中的"Hash函数MD5与SHA-1实现与比较"文件可能包含了这两种算法的具体实现代码,通过对比这些代码,可以了解它们在细节上的异同,例如,压缩函数的结构和参数可能会有所不同,MD5的四轮操作与SHA-1的八轮操作的...

    SHA_MatLab.rar_SHA_MatLab_md5 matlab_sha in matlab_sha-1 matl_加密

    SHA(Secure Hash Algorithm)家族包括SHA-1、SHA-2以及SHA-3等,它们都是设计用于生成固定长度的数字摘要,这个摘要对原始输入数据非常敏感,即使微小的改变也会导致完全不同的摘要结果。这种特性使得SHA系列算法在...

    信息安全实验-MD5,SHA-1信息摘要计算(MFC)

    在信息技术领域,信息安全是至关重要的一个方面,而MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)则是两种广泛应用于信息摘要计算的算法。这两个算法都属于散列函数,能够将任意长度的数据...

    C# MD5加密 sha-1 算法

    ### C# MD5与SHA-1加密算法详解 在现代软件开发中,数据安全性变得尤为重要。其中,密码学中的散列函数(哈希函数)是实现数据加密的关键技术之一。本文将详细介绍C#中两种常用的散列算法:MD5与SHA-1,并探讨它们...

    MD5加密和SHA-1加密的工具类(自己整理的)

    SHA-1的安全性比MD5稍强,但在2017年,Google报告了首次找到SHA-1的碰撞攻击实例,这意味着它的安全性也正在逐渐降低。目前,许多系统已经转向使用更安全的SHA-2或SHA-3系列。 在编程中,经常会使用工具类来简化MD5...

    Digest-Perl-MD5-1.9.tar.gz

    6. **与其他哈希函数的兼容性**:Digest-Perl-MD5遵循Perl的Digest API,这意味着它可以与其它如SHA-1、SHA-256等哈希函数的接口无缝集成。 7. **版本1.9**:发布的版本1.9可能包含了对早期版本的错误修复、性能...

    MD5,SHA-1加密算法(JS调用)

    ### MD5与SHA-1加密算法(JS实现) 在现代Web开发中,用户登录时的安全性至关重要。为了保护用户的隐私和个人信息安全,开发人员通常会在客户端对用户的密码进行加密处理,而不是直接以明文形式传输。这不仅可以...

    MD5&SHA-1查看工具

    MD5和SHA-1是两种广泛使用的哈希函数,在信息技术领域,它们主要用于数据完整性和校验。这些工具在软件下载、文件传输、数字签名以及密码存储等方面起着至关重要的作用。 MD5(Message-Digest Algorithm 5)是由...

    SHA-1密码哈希算法(c语言实现)

    SHA-1是基于消息摘要函数MD4改进而来的,但比MD4更安全。尽管在2011年SHA-1的碰撞攻击已被证明可能存在,即两个不同的输入可以产生相同的哈希值,但在大多数场景下,它仍然足够使用,尤其是对于教学和学习目的。 ...

    SHA-1.rar_SHA_SHA-1算法_SHA-I source code_sha-1_sha-256

    SHA-1算法是基于MD4算法的改进版本,它产生一个160位(20字节)的哈希值,通常以32位十六进制数字的形式表示。 SHA-1的工作原理是将输入的消息(可以是任意长度)通过一系列的数学运算,包括位操作、循环移位、异或...

    SHA.zip_On Message_The SHA-1 message

    Rivest of MIT in the design of the MD4 and MD5 message digest algorithms, but has a more conservative design.SHA-2 is a set of cryptographic hash functions (SHA-224, SHA-256, SHA-384, SHA-512, SHA-...

    MD5、SHA1、SHA256以及SHA512加解密算法实现

    SHA-256是SHA-2家族的一部分,它生成一个256位的摘要,相比MD5和SHA-1提供了更高的安全性和更少的碰撞可能性。SHA-256常用于数字签名和加密算法,如TLS/SSL协议和比特币的区块链中。 SHA-512则是SHA-2家族中的另一...

Global site tag (gtag.js) - Google Analytics