Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
Hash
  • See Also
    • FileHash
    • GenerateDerivedKey
    • GenerateSymmetricKey
    • GenerateDigitalSignature
    • LeafCount
    • ByteCount
    • Dispatch
    • BaseEncode
    • BinarySerialize

    • Data Structures
    • HashTable
    • HashSet
  • Related Guides
    • Systems-Related String Operations
    • String Operations
    • Cryptographic Number Theory
    • String Manipulation
    • Cryptography
    • Memory Measurement & Optimization
    • Converting between Expressions & Strings
    • Expression Structure
    • Binary Data
    • See Also
      • FileHash
      • GenerateDerivedKey
      • GenerateSymmetricKey
      • GenerateDigitalSignature
      • LeafCount
      • ByteCount
      • Dispatch
      • BaseEncode
      • BinarySerialize

      • Data Structures
      • HashTable
      • HashSet
    • Related Guides
      • Systems-Related String Operations
      • String Operations
      • Cryptographic Number Theory
      • String Manipulation
      • Cryptography
      • Memory Measurement & Optimization
      • Converting between Expressions & Strings
      • Expression Structure
      • Binary Data

Hash[expr]

gives an integer hash code for the expression expr.

Hash[expr,type]

gives an integer hash digest of the specified type for expr.

Hash[expr,type,"format"]

gives a hash code in the specified format.

Details
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Applications  
Properties & Relations  
Possible Issues  
Neat Examples  
See Also
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • FileHash
    • GenerateDerivedKey
    • GenerateSymmetricKey
    • GenerateDigitalSignature
    • LeafCount
    • ByteCount
    • Dispatch
    • BaseEncode
    • BinarySerialize

    • Data Structures
    • HashTable
    • HashSet
  • Related Guides
    • Systems-Related String Operations
    • String Operations
    • Cryptographic Number Theory
    • String Manipulation
    • Cryptography
    • Memory Measurement & Optimization
    • Converting between Expressions & Strings
    • Expression Structure
    • Binary Data
    • See Also
      • FileHash
      • GenerateDerivedKey
      • GenerateSymmetricKey
      • GenerateDigitalSignature
      • LeafCount
      • ByteCount
      • Dispatch
      • BaseEncode
      • BinarySerialize

      • Data Structures
      • HashTable
      • HashSet
    • Related Guides
      • Systems-Related String Operations
      • String Operations
      • Cryptographic Number Theory
      • String Manipulation
      • Cryptography
      • Memory Measurement & Optimization
      • Converting between Expressions & Strings
      • Expression Structure
      • Binary Data

Hash

Hash[expr]

gives an integer hash code for the expression expr.

Hash[expr,type]

gives an integer hash digest of the specified type for expr.

Hash[expr,type,"format"]

gives a hash code in the specified format.

Details

  • Hash[expr,…] will always give the same result for the same expression expr.
  • Possible hash types include:
  • "Adler32"Adler 32-bit cyclic redundancy check
    "BLAKE2b-512"512-bit BLAKE2b code
    "BLAKE2s-256"256-bit BLAKE2s code
    {"BLAKE2b",b}BLAKE2b code with arbitrary length b up to 512 bits
    {"BLAKE2s",b}BLAKE2s code with arbitrary length b up to 256 bits
    {"BLAKE2bp",b}multicore parallel version of BLAKE2b
    {"BLAKE2sp",b}multicore parallel version of BLAKE2s
    {"BLAKE2xb",b}BLAKE2xb code with arbitrary length b up to 256 GiB
    {"BLAKE2xs",b}BLAKE2xs code with arbitrary length b up to 128 GiB
    "CRC32"32-bit cyclic redundancy check
    "Keccak224"224-bit Keccak code
    "Keccak256"256-bit Keccak code
    "Keccak384"384-bit Keccak code
    "Keccak512"512-bit Keccak code
    {"Keccak",b}Keccak code with length b of 224, 256, 384, 512 bits
    "MD2"128-bit MD2 code
    "MD4"128-bit MD4 code
    "MD5"128-bit MD5 code
    "RIPEMD160"160-bit RIPEMD code
    "RIPEMD160SHA256"RIPEMD-160 following SHA-256 (as used in Bitcoin)
    "SHA1"160-bit SHA-1 code
    "SHA224"224-bit SHA code
    "SHA256"256-bit SHA code
    "SHA256SHA256"double SHA-256 code (as used in Bitcoin)
    "SHA384"384-bit SHA code
    "SHA512"512-bit SHA code
    {"SHA",b}SHA code with length b of 224, 256, 384, 512 bits
    "SHA3-224"224-bit SHA3 code
    "SHA3-256"256-bit SHA3 code
    "SHA3-384"384-bit SHA3 code
    "SHA3-512"512-bit SHA3 code
    {"SHA3",b}SHA3 code with length b of 224, 256, 384, 512 bits
    "Expression"expression hash code (default)
  • For a variable-length hash, length b must be a multiple of 8.
  • The "Expression" hash is computed from the internal representation of an expression and may vary between computer systems and from one version of the Wolfram Language to another.
  • For hashes that operate on sequences of bytes (such as "SHA"), Hash[expr,…] first converts expr to bytes according to:
  • exprbytes based on ToString[FullForm[expr]]
    "string"bytes in the UTF-8 representation of string
    ByteArray[…]literal bytes in the byte array
  • Possible formats include:
  • "Integer"integer (default)
    "DecimalString"decimal string
    "HexString"hexadecimal string
    "HexStringLittleEndian"hexadecimal string with little-endian byte order
    "Base36String"base-36 alphanumeric string
    "Base64Encoding"Base64 encoding
    "ByteArray"hash code as an explicit byte array

Examples

open all close all

Basic Examples  (4)

Hash a string:

Digital fingerprint of data:

SHA256 hash given in hexadecimal form:

Specify output length of the SHA hash:

Scope  (12)

Hash a general expression:

Equivalently:

Compare all the different hash codes:

Calculate "BLAKE2b" hashes with different lengths:

512-bit SHA code given as an integer:

512-bit SHA code given as a decimal string, including leading zeroes:

Compare the different string representations of a hash:

The double SHA code given as a ByteArray:

The byte array contains the 256 bits of the result:

View the individual bytes in the array:

RIPEMD160SHA256 hash is essentially a repeated hash:

When using ByteArray or a string, literal bytes are hashed:

For non-ASCII characters, UTF-8 representation is used for hashing:

Compute a cryptographic hash of zero bytes:

Calculate BLAKE2xs hash of desired length:

Applications  (2)

Provide a "checksum" to validate data integrity:

Change some of the data:

The checksum has changed:

A concatenated cryptographic hash function:

Hash code of "abcdef":

Properties & Relations  (12)

The hash is always the same for identical expressions:

Distinct hash codes come from distinct inputs:

The default hash code is "Expression":

The "Expression" hash fits in a machine word:

The leading bit is zero:

"Integer" is the default format:

"DecimalString" is the string version of "Integer", padded with zeros if necessary:

"HexString" is a base 16 representation, padded with zeros if necessary:

"Base36String" is a base 36 representation, padded with zeros if necessary:

"Base64Encoding" encodes bytes of the result using Base64 encoding:

"ByteArray" is a base 256 representation:

Convert from base 256 to an integer:

The result is the same:

Repeated hash can be obtained by using ByteArray as an intermediate result:

FileHash[file,code] is effectively equivalent to Hash[ReadByteArray[file],code]:

Possible Issues  (3)

Hash of a List of integers uses a serialized version of the list as an expression:

To hash literal bytes, use a ByteArray:

ASCII strings can be used to hash 7-bit byte values:

The Hash of an expression and a string containing the FullForm of the expression are different:

Hash takes into account the full symbol name, including its Context, which may result in different hash values:

Neat Examples  (2)

Hash collisions are very rare, but possible. Here are two lists of bytes:

They are not the same:

They differ in two locations:

Hash the two sequences of bytes:

Their hashes are identical:

Distribution of hash values for different types:

See Also

FileHash  GenerateDerivedKey  GenerateSymmetricKey  GenerateDigitalSignature  LeafCount  ByteCount  Dispatch  BaseEncode  BinarySerialize

Data Structures: HashTable  HashSet

Function Repository: HMAC  FowlerNollVoHash

Related Guides

    ▪
  • Systems-Related String Operations
  • ▪
  • String Operations
  • ▪
  • Cryptographic Number Theory
  • ▪
  • String Manipulation
  • ▪
  • Cryptography
  • ▪
  • Memory Measurement & Optimization
  • ▪
  • Converting between Expressions & Strings
  • ▪
  • Expression Structure
  • ▪
  • Binary Data

History

Introduced in 1988 (1.0) | Updated in 2007 (6.0) ▪ 2016 (11.0) ▪ 2018 (11.3) ▪ 2019 (12.0) ▪ 2022 (13.1)

Wolfram Research (1988), Hash, Wolfram Language function, https://reference.wolfram.com/language/ref/Hash.html (updated 2022).

Text

Wolfram Research (1988), Hash, Wolfram Language function, https://reference.wolfram.com/language/ref/Hash.html (updated 2022).

CMS

Wolfram Language. 1988. "Hash." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/Hash.html.

APA

Wolfram Language. (1988). Hash. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Hash.html

BibTeX

@misc{reference.wolfram_2025_hash, author="Wolfram Research", title="{Hash}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/Hash.html}", note=[Accessed: 01-February-2026]}

BibLaTeX

@online{reference.wolfram_2025_hash, organization={Wolfram Research}, title={Hash}, year={2022}, url={https://reference.wolfram.com/language/ref/Hash.html}, note=[Accessed: 01-February-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English