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



1會員
5Content count
留言0
查看全部
發表第一個留言支持創作者!
Wan Li的沙龍 的其他內容
PayPal是很多网赚平台最常使用的支付方式之一,其中PayPal的收款手续费问题是很多商家关心的,现在来科普一下PayPal收款时手续费是如何计算的吧! 根据PayPal官方文档,PayPal國際收款手續費由兩部分構成: 手續費=收款金額x4.40% +固定費用 固定費用視收到的貨幣而定
PayPal是很多网赚平台最常使用的支付方式之一,其中PayPal的收款手续费问题是很多商家关心的,现在来科普一下PayPal收款时手续费是如何计算的吧! 根据PayPal官方文档,PayPal國際收款手續費由兩部分構成: 手續費=收款金額x4.40% +固定費用 固定費用視收到的貨幣而定
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
大家來宿霧玩怕大家吃不習慣異國料理 那選擇台灣火鍋絕對安全! 宿霧的Nustar也開了紅樓火鍋 可以小賭一把又可以吃台灣火鍋!
Thumbnail
九月份,我參加一個為期18天的《小小sha個人品牌私享課》。 老師萃取出其發展個人品牌的三大階段,探索自己定位的研發階段,其次生產自己的個人作品階段,最後運營朋友圈、自媒體及社群的營銷階段,有層次的教我們梳理並開始經營自己的個人品牌。
Thumbnail
看到迷客夏的新品手搖廣告,SHA樂冰系列有4種口味【醇濃巧可】【繽紛莓果】【爆米香擂茶】【宇治焙茶】,滿滿的回憶突然湧上心頭。
Thumbnail
完整標題:shame 與「羞」或「羞愧」或「愧」或「羞恥」或「可恥」或「失恥」或「羞蒙」或「丟面」或「憾遺」或「失望」等的轉換密碼
重症病患總會碰到一個選擇 選擇醫生 第一選擇通常是名醫  但基本上沒有特別的關係是排不上的 或是說生命時間不夠等了 第二選擇可能是較知名的年輕醫師  通常會掛著顯赫的學歷以及看起來文質彬彬 但如果在相同水平或接近的醫院中 選擇看起來較差  也就是看起來外貌不像醫生  不掛文憑 也許看起來是屠夫或是
Thumbnail
Shall we go somewhere else? 「我們一起去OOO,好不好?」 不知道有沒有人跟我一樣,在聽到這句話的時候,莫名會有種窩心的感覺?
Thumbnail
上篇提到和老婆一起看了「愛的迫降」,之後老婆一段時間呈現迷妹狀態,上網翻找之前玄彬的一些影片來看,連他唱過好幾次的在一個巨星的誕生(A Star Is Born)電影中的Shallow也一直聽一直跟著唱  https://www.youtube.com/watch?v=iTS3n9z4X7w   聽
Thumbnail
完整標題:shark 與「鯊利齒」、「鯊銳齒」、「鯊尖利齒」、「鯊尖銳齒」或「沙魚尖銳利齒」或「沙魚」或「鯊」或「鯊魚」的轉換密碼
Thumbnail
〈Space and Symbols in an Age of Decline〉from  《Re-Presenting the City》 Sharon Zukin 1996 本篇為《Loft Living: Culture and Capital in Urban Change》與《The
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
大家來宿霧玩怕大家吃不習慣異國料理 那選擇台灣火鍋絕對安全! 宿霧的Nustar也開了紅樓火鍋 可以小賭一把又可以吃台灣火鍋!
Thumbnail
九月份,我參加一個為期18天的《小小sha個人品牌私享課》。 老師萃取出其發展個人品牌的三大階段,探索自己定位的研發階段,其次生產自己的個人作品階段,最後運營朋友圈、自媒體及社群的營銷階段,有層次的教我們梳理並開始經營自己的個人品牌。
Thumbnail
看到迷客夏的新品手搖廣告,SHA樂冰系列有4種口味【醇濃巧可】【繽紛莓果】【爆米香擂茶】【宇治焙茶】,滿滿的回憶突然湧上心頭。
Thumbnail
完整標題:shame 與「羞」或「羞愧」或「愧」或「羞恥」或「可恥」或「失恥」或「羞蒙」或「丟面」或「憾遺」或「失望」等的轉換密碼
重症病患總會碰到一個選擇 選擇醫生 第一選擇通常是名醫  但基本上沒有特別的關係是排不上的 或是說生命時間不夠等了 第二選擇可能是較知名的年輕醫師  通常會掛著顯赫的學歷以及看起來文質彬彬 但如果在相同水平或接近的醫院中 選擇看起來較差  也就是看起來外貌不像醫生  不掛文憑 也許看起來是屠夫或是
Thumbnail
Shall we go somewhere else? 「我們一起去OOO,好不好?」 不知道有沒有人跟我一樣,在聽到這句話的時候,莫名會有種窩心的感覺?
Thumbnail
上篇提到和老婆一起看了「愛的迫降」,之後老婆一段時間呈現迷妹狀態,上網翻找之前玄彬的一些影片來看,連他唱過好幾次的在一個巨星的誕生(A Star Is Born)電影中的Shallow也一直聽一直跟著唱  https://www.youtube.com/watch?v=iTS3n9z4X7w   聽
Thumbnail
完整標題:shark 與「鯊利齒」、「鯊銳齒」、「鯊尖利齒」、「鯊尖銳齒」或「沙魚尖銳利齒」或「沙魚」或「鯊」或「鯊魚」的轉換密碼
Thumbnail
〈Space and Symbols in an Age of Decline〉from  《Re-Presenting the City》 Sharon Zukin 1996 本篇為《Loft Living: Culture and Capital in Urban Change》與《The