Socket
Socket
Sign inDemoInstall

@marco_ciaramella/sha256-gpu

Package Overview
Dependencies
0
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @marco_ciaramella/sha256-gpu

SHA-256 over WebGPU


Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Install size
28.8 kB
Created
Weekly downloads
 

Readme

Source

sha256-gpu

A GPU version of SHA-256 using WebGPU.

Install

npm i @marco_ciaramella/sha256-gpu

Usage

Function sha256_gpu takes and array of messages of the same size and computes the SHA-256 for each message in parallel. A message must be in binary format as a Uint8Array (byte array). For example if you want the SHA-256 of integer 1 you must pass it as new Uint8Array([0x01, 0x00, 0x00, 0x00]).

import { sha256_gpu } from "@marco_ciaramella/sha256-gpu";

// each message in messages must have the same size
const messages = [
    new Uint8Array([0x01, 0x00, 0x00, 0x00]), // binary representation of integer 1
    new Uint8Array([0x02, 0x00, 0x00, 0x00]), // binary representation of integer 2
    new Uint8Array([0x03, 0x00, 0x00, 0x00]), // binary representation of integer 3
    new Uint8Array([0x04, 0x00, 0x00, 0x00]), // binary representation of integer 4
    new Uint8Array([0x05, 0x00, 0x00, 0x00]), // binary representation of integer 5
    new Uint8Array([0x06, 0x00, 0x00, 0x00]), // binary representation of integer 6
    new Uint8Array([0x07, 0x00, 0x00, 0x00]), // binary representation of integer 7
    new Uint8Array([0x08, 0x00, 0x00, 0x00]), // binary representation of integer 8
    new Uint8Array([0x09, 0x00, 0x00, 0x00])  // binary representation of integer 9
];
// compute the SHA-256 in parallel
const hashes = await sha256_gpu(messages);
// print the result
for (let i = 0; i < hashes.length; i += 32) {
    console.log(hashes.subarray(i, i + 32).reduce((a, b) => a + b.toString(16).padStart(2, '0'), ''));
}

Note

Use this module when you have a lot of messages and want to compute SHA-256 at once. Don't use this module when you need the SHA-256 for one message at a time. In this case the CPU version performs better.

Keywords

FAQs

Last updated on 02 Feb 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc