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工具"是...
MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛使用的哈希函数,它们在信息安全领域扮演着至关重要的角色。哈希函数是一种将任意长度的数据转换为固定长度输出的函数,这个输出...
这个进行字符串加密 和解密 , 编码和 解码 包括(base64、DES、AES、SHA-1、MD5 ) ,都是亲测的,保证可用 这个进行字符串加密 和解密 , 编码和 解码 包括(base64、DES、AES、SHA-1、MD5 ) ,都是亲测的,保证...
SHA-1和MD5是两种广泛使用的哈希函数,在信息安全领域尤其常见,它们主要用于数据的校验和加密。本文将详细介绍这两种加密算法及其在实际应用中的使用。 首先,SHA-1(Secure Hash Algorithm 1)是由美国国家安全局...
SHA-1算法基于MD4算法,但进行了增强,以提高安全性和抵御攻击的能力。在C语言实现中,会包括一系列的位操作、循环和加法,将输入消息转化为固定长度的散列结果。 2. SHA-256算法: SHA-256是SHA-2家族的一部分,...
在本示例中,我们关注的是MD5(Message-Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)以及SHA-256(Secure Hash Algorithm 2,256位版本)这三种常见的哈希函数。 MD5是由Ron Rivest在1991年开发的一种...
MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛使用的加密哈希函数,它们为文件提供了一种验证其完整性的方法。这些哈希算法将任意长度的数据转化为固定长度的输出,通常称为哈希...
压缩包中的"Hash函数MD5与SHA-1实现与比较"文件可能包含了这两种算法的具体实现代码,通过对比这些代码,可以了解它们在细节上的异同,例如,压缩函数的结构和参数可能会有所不同,MD5的四轮操作与SHA-1的八轮操作的...
在信息技术领域,信息安全是至关重要的一个方面,而MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)则是两种广泛应用于信息摘要计算的算法。这两个算法都属于散列函数,能够将任意长度的数据...
### C# MD5与SHA-1加密算法详解 在现代软件开发中,数据安全性变得尤为重要。其中,密码学中的散列函数(哈希函数)是实现数据加密的关键技术之一。本文将详细介绍C#中两种常用的散列算法:MD5与SHA-1,并探讨它们...
SHA-256是SHA-2家族的一部分,它生成一个256位的摘要,相比MD5和SHA-1提供了更高的安全性和更少的碰撞可能性。SHA-256常用于数字签名和加密算法,如TLS/SSL协议和比特币的区块链中。 SHA-512则是SHA-2家族中的另一...
6. **与其他哈希函数的兼容性**:Digest-Perl-MD5遵循Perl的Digest API,这意味着它可以与其它如SHA-1、SHA-256等哈希函数的接口无缝集成。 7. **版本1.9**:发布的版本1.9可能包含了对早期版本的错误修复、性能...
### MD5与SHA-1加密算法(JS实现) 在现代Web开发中,用户登录时的安全性至关重要。为了保护用户的隐私和个人信息安全,开发人员通常会在客户端对用户的密码进行加密处理,而不是直接以明文形式传输。这不仅可以...
MD5和SHA-1是两种广泛使用的哈希函数,在信息技术领域,它们主要用于数据完整性和校验。这些工具在软件下载、文件传输、数字签名以及密码存储等方面起着至关重要的作用。 MD5(Message-Digest Algorithm 5)是由...
SHA-1是基于消息摘要函数MD4改进而来的,但比MD4更安全。尽管在2011年SHA-1的碰撞攻击已被证明可能存在,即两个不同的输入可以产生相同的哈希值,但在大多数场景下,它仍然足够使用,尤其是对于教学和学习目的。 ...
SHA-1算法是基于MD4算法的改进版本,它产生一个160位(20字节)的哈希值,通常以32位十六进制数字的形式表示。 SHA-1的工作原理是将输入的消息(可以是任意长度)通过一系列的数学运算,包括位操作、循环移位、异或...
SHA-1的安全性比MD5稍强,但在2017年,Google报告了首次找到SHA-1的碰撞攻击实例,这意味着它的安全性也正在逐渐降低。目前,许多系统已经转向使用更安全的SHA-2或SHA-3系列。 在编程中,经常会使用工具类来简化MD5...
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-...
标题中的“HMAC-SHA1/SHA256/MD5标准dll”指的是一个动态链接库(DLL)文件,该文件包含了实现哈希消息认证码(HMAC)算法的函数,这些算法包括SHA-1、SHA-256以及MD5。DLL文件是一种在Windows操作系统中广泛使用的...