Giter Site home page Giter Site logo

sha256algorithm's People

Contributors

anandsuresh avatar asgavar avatar byeokim avatar dmarman avatar skypow2012 avatar zhangyoufu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sha256algorithm's Issues

Question about computed SHA

Hi, love your visualisation!

I have a question, when I pass in the input this, I get the result as 1eb79602411ef02cf6fe117897015fff89f80face4eccd50425c45149b148408, however when I do it the "usual" way:

# Mac
❯ echo 'this' | sha256sum
c18d547cafb43e30a993439599bd08321bea17bfedbe28b13bce8a7f298b63a2  -

# OpenBSD
$ echo 'this' | sha256
c18d547cafb43e30a993439599bd08321bea17bfedbe28b13bce8a7f298b63a2

Could you please confirm?

Minor issue with colours in the right shift

Hi! Thanks a lot for the tool, it's really amazing.

I spotted a minor issue with the colour of the text bleeding into the work XOR in step 2. I'm using Firefox 96.0
To reproduce:

  • Input This is a test input
  • Advance two steps
  • The R in XOR at the end of the line right shift 3 is red

See the attached screenshot

Screenshot_20220209_110024

Thanks again!

Support for hex encoded input

Not really an issue, more like a feature request.

It would be nice to also be able to enter a hex-string as an input.

Incorrect handling of hex input with odd length

Hex input is interpreted incorrectly when an odd number of characters is used. For example, when fff is used as the input, it will cause the data to be 11111111 00001111.

Hex input with an odd length should probably just be rejected. In any case, the current behavior doesn't really make sense and is also inconsistent with what happens when just 1 hex digit is used as an input (f for example is interpreted as 00001111, which kinda makes sense, but by that logic fff should be interpreted as 00001111 11111111, not 11111111 00001111).

Icons for controls don't match their purpose

Awesome visualization!

I found some of the controls to be a little surprising, compared to a typical CD/DVD/video player. Here are the actions, their current icons, and a suggested icon that I think more people would expect:

Action Current Icon Expected Icon Notes
Auto Play image image This is just a normal "play" operation
Skip forward 10 image image On audio/video controls this would be "fast forward"
Jump to the end image image On a CD player this would be "go to next track"; the vertical line represents the track separator. Here it might represent the "end".
Single step image image The double vertical bars imply "paused"

(the same apply to the reverse direction as well).

References:

Incorrect instructions in step 0 with hex input

There are two issues with the instructions displayed for step 0 when an hex input is used:

  1. Sub-step 1, where a single bit is added after the input data, is missing
  2. The message length used in the instructions is computed incorrectly. For example, for hex input "ff", message length is said to be 2 when it should be 8. Consequently, the numbers of zeroes to add is also stated incorrectly (445 when it should be 439)

Note that it's only the instructions (in the leftmost column, under the message block) that are incorrect. Everything else is fine and the hash is computed correctly.

Oh and thank you so much for this tool, it's brilliant!

Small visual glitch

Heya, small visual glitch I've found.

If the current step is still filling the Message schedule, and you edit/append the input, the correct representation of the next word/next step in the scheduleis also shown/calculated, in stead of zero'd out.

Add bin/hex radix selection

Hello!

Your tool is absolutely amazing!

But I have a suggestion, that I'm sure you can easily implement.
Now all internal variables have binary radix. How about adding a selector to change binary radix to hex.
Sometime it is really usefull to see internals in hex, rahter than binary.

Thanks a lot again!
Best regards!

Feature Sugestion: Keyboard navigation

@dmarman LOVE what you have done here!!!

Congratulations, it's amazingly beautiful project and implementation, I'm learning and enjoying in the process.

I only wanted to suggest you a new feature, which I think would help a lot... keyboard navigation!

Using the keyboard to interact with the algorithm, like so:

Play: SPACE (start/stop)

Advance 1: right arrow
Go Back 1: Left arrow

 Next 10: Up arrow
 Previous 10: Down arrow

Anyway, thanks for doing this and sharing it with the world! AMAZING!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.