3.2. SHA 专题

简介:

3.2.1. sha1sum

		
$ sha1sum /etc/passwd
c144c5cc8d5d3b90ad74a1dcf6af9e6c935e2a2a  /etc/passwd

$ sha1sum about/*
905a26de0f2fd6fcb53bf8db75d76c538d094237  about/index.html
d0aeb4409808b6afded0522964bed6b795d30fc0  about/index.tpl

$ sha1sum about/* > about.sha1
$ cat about.sha1
905a26de0f2fd6fcb53bf8db75d76c538d094237  about/index.html
d0aeb4409808b6afded0522964bed6b795d30fc0  about/index.tpl

$ sha1sum -c about.sha1
about/index.html: OK
about/index.tpl: OK

		
		

3.2.2. PHP sha1()

string sha1 ( string str [, bool raw_output] )

<?php
	$str = 'netkiller';
	echo sha1($str);
?>

		

运行输出字符串:eb673aa189c814d2db9fb71f162da1c81b4eba1c

3.2.3. Java SHA

import java.security.*;

public class shaTest {

	private static String dumpBytes(byte[] bytes) {
	    int i;
	    StringBuffer sb = new StringBuffer();
	    for (i = 0; i < bytes.length; i++) {
	      if (i % 32 == 0 && i != 0) {
	        sb.append("\n");
	      }
	      String s = Integer.toHexString(bytes[i]);
	      if (s.length() < 2) {
	        s = "0" + s;
	      }
	      if (s.length() > 2) {
	        s = s.substring(s.length() - 2);
	      }
	      sb.append(s);
	    }
	    return sb.toString();
	}
	public static void main(String[] args) {

		String passwd = "netkiller";
	    MessageDigest md = null;
		try {
			md = MessageDigest.getInstance("SHA");
			md.update("chen".getBytes());
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}

	    System.out.println(dumpBytes(md.digest()));
	}

}

		

编译运行,输入字符串:8a89798cf0878e37bb6589ae1c36b9d8a036275b

3.2.4. Perl

		
 # Functional style
 use Digest::SHA1  qw(sha1 sha1_hex sha1_base64);

 $digest = sha1($data);
 $digest = sha1_hex($data);
 $digest = sha1_base64($data);

 # OO style
 use Digest::SHA1;

 $ctx = Digest::SHA1->new;

 $ctx->add($data);
 $ctx->addfile(*FILE);

 $digest = $ctx->digest;
 $digest = $ctx->hexdigest;
 $digest = $ctx->b64digest;
		
		



原文出处:Netkiller 系列 手札

本文作者:陈景峯

转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。


目录
相关文章
|
数据安全/隐私保护 Python
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
338 0
|
2月前
|
算法 JavaScript Java
AES和RSA
AES和RSA
39 0
|
1月前
|
存储 算法 安全
|
2月前
|
算法 安全
MD5和SHA1 5
MD5和SHA1 5
39 0
|
6月前
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
293 2
|
数据安全/隐私保护
[虚幻引擎插件说明] DTSha – 蓝图SHA加密节点, SHA1, SHA224, SHA256, SHA384, SHA512加密
本插件可以在虚幻引擎中使用蓝图对字符串或者文件进行SHA1, SHA224, SHA256, SHA384, SHA512加密。
172 1
|
C语言
SHA加密算法
SHA加密算法
69 0
|
安全 算法 C语言
|
算法 安全 Java
[转载]加密解密算法【RSA、AES、DES、MD5】介绍和使用
为了防止我们的数据泄露,我们往往会对数据进行加密,特别是敏感数据,我们要求的安全性更高。下面将介绍几种常用的加密算法使用。这些算法的加密对象都是基于二进制数据,如果要加密字符串就使用统一编码(如:utf8)进行编码后加密。
2566 0
|
C++
C++版本ECDSA-with-SHA256签名验证
由于项目需要验证签名,这里不做签名,只验签,所以直接上代码。
426 0

相关实验场景

更多