Utility JavaScript library with methods to work with Session's blinded Session ID.
Example of normal Session ID:
057aeb66e45660c3bdfb7c62706f6440226af43ec13f3b6f899c1dd4db1b8fce5b
Example of blinded Session ID:
15d9fd3a6c3c5ddf7500b862174f205ab27164232d9b10fe31f145e61629b676e3
Blinded IDs are used on Session SOGS to conceal identity of room's users.
import { blindSessionId } from '@session.js/blinded-session-id'
await blindSessionId({
sessionId: '057aeb66e45660c3bdfb7c62706f6440226af43ec13f3b6f899c1dd4db1b8fce5b',
serverPk: 'cb4fd6199b84dc3664f0373354341a01007ecaa99a388496fe8775b9b76a253b'
}) // => 15383d0a3ba605abe3b5b7343102be3fc0026056b9812e06f6daee3be62a6a56e3
- generateBlindedIds — returns legacy and modern blinded id
- generateKAs — returns legacy and modern KAs as Uint8Array
- convertToX25519Key, convertToEd25519Key — self explanatory
Credit to li0ard, this code was mostly taken from https://github.com/theinfinityway/session_id/
Use Session messenger programmatically with Session.js: Session bots, custom Session clients, and more.