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
Wan Li的沙龍
4會員
10內容數
Wan Li的沙龍的其他內容
2024/04/05
新創公司Suno AI,已經被公認為「音樂界的ChatGPT」。 無人能否認它刮起的颶風。 在官方網路上,Suno AI的應用程式可以免費試用。 只要在框框中輸入提示,片刻之後,一段完全符合你要求的逼真、高保真的音樂片段就開始自動播放了。 不需要任何門檻。 現在,不懂任何樂理知識的人,就能創作
Thumbnail
2024/04/05
新創公司Suno AI,已經被公認為「音樂界的ChatGPT」。 無人能否認它刮起的颶風。 在官方網路上,Suno AI的應用程式可以免費試用。 只要在框框中輸入提示,片刻之後,一段完全符合你要求的逼真、高保真的音樂片段就開始自動播放了。 不需要任何門檻。 現在,不懂任何樂理知識的人,就能創作
Thumbnail
2024/02/24
Google 搜尋中存在相當久遠的「頁庫存檔」功能,已經被 Google 移除了。 頁庫存檔會保留一份 Google 的機器人在爬行時所備份的網頁,在過去網路連線緩慢或不穩定的年代,常常會被用做替代的選擇;又或是如果該網頁內容在 Google 機器人爬行後有所更動的話,頁庫存檔也能看到含有搜尋結果
Thumbnail
2024/02/24
Google 搜尋中存在相當久遠的「頁庫存檔」功能,已經被 Google 移除了。 頁庫存檔會保留一份 Google 的機器人在爬行時所備份的網頁,在過去網路連線緩慢或不穩定的年代,常常會被用做替代的選擇;又或是如果該網頁內容在 Google 機器人爬行後有所更動的話,頁庫存檔也能看到含有搜尋結果
Thumbnail
2024/02/09
2024春節將至,很多小姐妹在假期應酬很多,比較難控制飲食,假期過完有可能體重增長,那此時我們是否應該減肥呢?下面我來介紹關於BMI和體脂肪率的小知識,幫助小姐妹更好的認識自己的身體狀態。 要不要減肥BMI説了算 BMI是身體質量指數,它是國際上常用的衡量人體肥胖程度的重要標準BMI是透過我們人
Thumbnail
2024/02/09
2024春節將至,很多小姐妹在假期應酬很多,比較難控制飲食,假期過完有可能體重增長,那此時我們是否應該減肥呢?下面我來介紹關於BMI和體脂肪率的小知識,幫助小姐妹更好的認識自己的身體狀態。 要不要減肥BMI説了算 BMI是身體質量指數,它是國際上常用的衡量人體肥胖程度的重要標準BMI是透過我們人
Thumbnail
看更多
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
这篇文章主要介绍了通俗解释加密货币的采用是什么意思?的相关资料,需要的朋友可以参考下 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币和以太坊等加密货币使用点对点去中心化系统进行交易。 由于整个过
Thumbnail
这篇文章主要介绍了通俗解释加密货币的采用是什么意思?的相关资料,需要的朋友可以参考下 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币和以太坊等加密货币使用点对点去中心化系统进行交易。 由于整个过
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
Thumbnail
# 加密貨幣:掌握金融未來的顛覆性技術 加密貨幣是當今金融科技領域最具革命性的創新之一。它以區塊鏈技術為基礎,顛覆了傳統中央銀行和金融機構主導的貨幣體系,為個人和企業帶來了全新的支付和投資方式。 ## 什麼是加密貨幣? 加密貨幣是一種數字化的虛擬貨幣,利用密碼學原理和分散式賬本技術
Thumbnail
# 加密貨幣:掌握金融未來的顛覆性技術 加密貨幣是當今金融科技領域最具革命性的創新之一。它以區塊鏈技術為基礎,顛覆了傳統中央銀行和金融機構主導的貨幣體系,為個人和企業帶來了全新的支付和投資方式。 ## 什麼是加密貨幣? 加密貨幣是一種數字化的虛擬貨幣,利用密碼學原理和分散式賬本技術
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News