SHA-256簡介及各種語言運用SHA-256演算

更新於 發佈於 閱讀時間約 7 分鐘

SHA-256簡介

SHA-2,名稱來自於安全雜湊演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼雜湊函數演算法標準,由美國國家安全局研發,由美國國家標準與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演算法標準,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

雜湊演算法,是一種從任何一種資料中創建小的數字「指紋」的方法。 雜湊函數把訊息或資料壓縮成摘要,使得資料量變小,將資料的格式固定下來。 此函數將資料打亂混合,重新建立一個稱為雜湊值(或雜湊值)的指紋。 雜湊值通常用一個短的隨機字母和數字組成的字串來代表。

對於任意長度的訊息,SHA256都會產生一個256bit長的雜湊值,稱作訊息摘要。 這個摘要相當於是個長度為32個位元組的數組,通常用一個長度為64的十六進位字串來表示。

如對字元123456進行sha-256演算結果為:8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

各種語言運用SHA-256演算

Javascript運用SHA-256演算

const text ="123456";

async function digestMessage(message) {
const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array
const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message
const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array
const hashHex = hashArray
.map((b) => b.toString(16).padStart(2, "0"))
.join(""); // convert bytes to hex string
return hashHex;
}

digestMessage(text).then((digestHex) => console.log(digestHex));

演算結果為

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

Python運用SHA-256演算

from hashlib import sha256

data = '123456'
print(sha256(data.encode('utf-8')).hexdigest())

演算結果為

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

Java運用SHA-256演算

import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

String text = "123456";

MessageDigest messageDigest = null;

try {
messageDigest = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
byte[] hash = messageDigest.digest(text.getBytes(StandardCharsets.UTF_8));
System.out.println(String.format("%064x", new BigInteger(1, hash)));

演算結果為

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

golang運用SHA-256演算

package main

import (
"crypto/sha256"
"encoding/hex"
"fmt"
)

func main() {

s := "123456"
h := sha256.New()
h.Write([]byte(s))
sha1_hash := hex.EncodeToString(h.Sum(nil))

fmt.Println(s, sha1_hash)
}

演算結果為

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

Rust運用SHA-256演算

use sha256::{digest, try_digest};

//sha256 digest String
let input = String::from("123456");
let val = digest(input);

println!("{}", val);


演算結果為

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

Linux Shell運用SHA-256演算

echo -n 123456 |sha256sum


Windows Cmd運用SHA-256演算

Windows certutil只支援檔案,建立data.txt內容為123456

certutil -hashfile data.txt SHA256

演算結果為

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

有用的線上工具

sha-256字元演算工具

https://www.strerr.com/tw/sha256.html

sha-256檔案演算工具

https://www.strerr.com/tw/sha256_file.html



avatar-img
2會員
5內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Wan Li的沙龍 的其他內容
PayPal是很多网赚平台最常使用的支付方式之一,其中PayPal的收款手续费问题是很多商家关心的,现在来科普一下PayPal收款时手续费是如何计算的吧! 根据PayPal官方文档,PayPal國際收款手續費由兩部分構成: 手續費=收款金額x4.40% +固定費用 固定費用視收到的貨幣而定
PayPal是很多网赚平台最常使用的支付方式之一,其中PayPal的收款手续费问题是很多商家关心的,现在来科普一下PayPal收款时手续费是如何计算的吧! 根据PayPal官方文档,PayPal國際收款手續費由兩部分構成: 手續費=收款金額x4.40% +固定費用 固定費用視收到的貨幣而定
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這兩天寒流發威,高山都下起了雪,我在行程夾縫之間來到台北華山的樹前廣場,這裡矗立著一方幾天前還沒有的「日本車站」,伴隨著許多勾起回憶的背景聲音。 作為Sharp Mobile Taiwan與徠卡聯名的旗艦手機,這發佈活動可說是集創意與用心於一體,有小展覽、有打卡活動,還有任務可以抽R9 pro大獎!
目前量子電腦無法有效破解比特幣的 SHA-256 演算法 和公鑰加密的安全性,主要原因在於以下幾個技術和理論層面的限制: --- 1. SHA-256 的抗量子攻擊性 比特幣的工作量證明 (Proof of Work, PoW) 使用的是 SHA-256 雜湊函數,這是一種單向函數
Thumbnail
如果到華欣玩,是走景點安排比較多,在飯店時間較少的人,也許可以考慮看看的便宜住宿。
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
Thumbnail
本文記錄了乘客搭乘長榮航空BR771/CA5513航班從上海虹橋到臺北松山的飛行體驗。包括航班起飛延誤、餐點品質、機上設施及廁所舒適度等方面的詳細描述。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這兩天寒流發威,高山都下起了雪,我在行程夾縫之間來到台北華山的樹前廣場,這裡矗立著一方幾天前還沒有的「日本車站」,伴隨著許多勾起回憶的背景聲音。 作為Sharp Mobile Taiwan與徠卡聯名的旗艦手機,這發佈活動可說是集創意與用心於一體,有小展覽、有打卡活動,還有任務可以抽R9 pro大獎!
目前量子電腦無法有效破解比特幣的 SHA-256 演算法 和公鑰加密的安全性,主要原因在於以下幾個技術和理論層面的限制: --- 1. SHA-256 的抗量子攻擊性 比特幣的工作量證明 (Proof of Work, PoW) 使用的是 SHA-256 雜湊函數,這是一種單向函數
Thumbnail
如果到華欣玩,是走景點安排比較多,在飯店時間較少的人,也許可以考慮看看的便宜住宿。
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
Thumbnail
本文記錄了乘客搭乘長榮航空BR771/CA5513航班從上海虹橋到臺北松山的飛行體驗。包括航班起飛延誤、餐點品質、機上設施及廁所舒適度等方面的詳細描述。