Comments (6)
Hmm, I suspect you're sending real bytes instead of my pseudo-byte string. Do you know what JavaScript type "mybytes" actually is? I can add some detection logic to routine to try to handle this.
from jssha.
Closing this since more information has been needed for over 3 months. Feel free to reopen if you run into the issue again.
from jssha.
Hi @Caligatio !
I have a question maybe related to the closed issue.
Please, check this plunker first.
When you say BYTES, are you saying javascript binary object (ArrayBuffer or Blob)?
What is the difference between setting 'TEXT' or 'BYTES' input string? I obtained the same hash result by setting any on them as "new jsSHA" type parameter.
Is it possible to pass a raw bytes object to the library without converting it to a string before?
Thanks in advance!
from jssha.
Ok, so TEXT vs BYTES: TEXT operates on the underlying string as a Unicode value and unfortunately has to do complicated bitwise operations stuff for it to work correctly (see str2binb). BYTES, on the other hand, treats each string character as a raw byte and doesn't do any bitwise operations. If the string passed as "TEXT" is an ASCII string, they'll operate the same.
I started this library quite a few years ago back in the IE7 days when ArrayBuffers weren't a thing. I'm somewhat hesitant to start adding browser version dependent things because that seems like a slippery slope to everything I hate about JavaScript.
It looks like ArrayBuffer requires IE10 or later and Blob isn't supported on mobile :(
from jssha.
Ok, I'm not sure I fully understood your answer, but the difference lies in the fact that using TEXT, it converts the values using str2binb. However using BYTES the bitwise operations are unnecessary since each character is a raw byte. I think that 'BYTES' for that case is a little bit confusing for people like @lazydino and me. In my implementation I wish to be able to use an array of bytes, I understand you wish to maintain browser compatibility, but I believe a real binary read is necessary.
from jssha.
Check out #43 and let me know if that branch works for you.
from jssha.
Related Issues (20)
- Method chaining when using `update` HOT 7
- Typescript build error HOT 2
- Types are packaged/exposed incorrectly HOT 2
- Feature request: HKDF would be nice HOT 1
- Feature Request: KangarooTwelve and MarsupilamiFourteen HOT 6
- ESM package for jssha HOT 1
- How to generate the SHA3-256 hash? HOT 1
- Encrypt sha256 in c# and make it the same key HOT 4
- 43106983S HOT 1
- setHMACKey with B64 HOT 4
- Error when i create jsSHA object HOT 24
- Performance HOT 12
- Package exports do not define a valid '.' target HOT 6
- Recreate internal state HOT 6
- SCRIPT:1002 Syntax Error HOT 3
- Question : How to reset / clear for another hash? HOT 2
- Installing this package via a <script> tag HOT 2
- Deno support documentation
- Reading custom amount of bytes with SHAKE HOT 2
- Incorrect project website in README.md HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jssha.