Different behavior on Endianness platforms

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
javascript
Domain
cryptography

Research direction

Start by reproducing the Uint16Array example on Big-Endian and Little-Endian platforms, then inspect the toBuffer() method named in the issue. Determine the intended byte order and add or update coverage so the same input has defined, consistent behavior across platforms.

Written by the indexing model from the issue text.

Description

Hi,

as proven by Debian test on S390x, this library has a different behavior in Big-Endian platforms: cipher.update(new Uint16Array([1234, 512])).finalName('hex') gives:

  • 04d20200 on Big-Endian platforms
  • d2040002 on Little-Endian platforms like amd64

What should be fixed, the test of the toBuffer() method ?

Dominant language
JavaScript
Stars
21
Forks
43
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from browserify/cipher-base

All issues in browserify/cipher-base

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.