Comments (5)
JavaScript characters use the Unicode character set, and charCodeAt can return
values up to 65,535. If the string you're encoding has values above 255 and you
bitwise AND those values with 0xFF, then you will be losing data.
So the things to consider are: 1) If your data is conceptually a series of
characters, then you should probably use UTF8.stringToBytes rather than
Binary.stringToBytes. Or 2), if your data is conceptually a series of bytes,
then there shouldn't be any values higher than 255, and you should find out why
there is.
Original comment by Jeff.Mott.OR
on 18 Jun 2010 at 5:38
- Added labels: Type-Other
- Removed labels: Type-Defect
from crypto-js.
We receive the data from XMLHttpRequest. The following tutorial shows that the
data needs to be ANDed with 0xff...
https://developer.mozilla.org/en/using_xmlhttprequest#Receiving_binary_data
You could argue that we need to do that ourself because that specification asks
us to do so. Or crypto-js could be helpful and accept the kind of strings XHR
returns. What do you think? I thought crypto-js should do it because the
application programmer might have problems controlling the part of character he
is not interested in.
Original comment by [email protected]
on 19 Jun 2010 at 8:07
- Added labels: ****
- Removed labels: ****
from crypto-js.
So XHR gives me a byte string which is not clean. My options are: 1) write a
janitor function which creates a new clean byte string 2) write my own function
for turning an unclean byte string into a list of integers.
Option 1 is a bit tricky as javascript strings are immutable. Thus the
operation can not be done in place. Option 2 leads to code duplication. Maybe
the crypto-js function could have an option for taking a dirty byte string as
input?
Original comment by [email protected]
on 20 Jun 2010 at 11:23
- Added labels: ****
- Removed labels: ****
from crypto-js.
Original comment by Jeff.Mott.OR
on 20 Jun 2010 at 9:11
- Changed state: Accepted
- Added labels: ****
- Removed labels: ****
from crypto-js.
Fixed in revision 301. Will be included in release v2.0.1.
Original comment by Jeff.Mott.OR
on 7 Mar 2011 at 4:04
- Changed state: Fixed
- Added labels: ****
- Removed labels: ****
from crypto-js.
Related Issues (20)
- Request: Support RSA signing and validation HOT 2
- Code misses license headers or LICENSE file HOT 1
- Support for computing hashes incrementally HOT 7
- Builder assumes case insensitive file system HOT 1
- PBKDF2Async updates too much and is very slow. HOT 1
- SHA 512 implementation HOT 5
- Error encrypt / decrypt CTR (AES) HOT 5
- Not obvious how many bits AES encryption uses. HOT 2
- Add support for Whirlpool digest HOT 1
- Crypto-JS v2.5.3 is reacting differently on Embed devices (Samsung Smart TV (sdk 2.XX)) and Desktop/Web HOT 5
- Unpad should throw Error if input in Invalid HOT 1
- SHA-512 HOT 1
- SHA1 hashed are different on Blackberry HOT 2
- Core concat error HOT 2
- PBKDF2 does not produce the expected results HOT 2
- AES encryption fails for long strings HOT 2
- crypto-js is not compatible with openssl base64 encoding when decrypting with AES/CBC HOT 7
- padding schemes corrupted - ZeroPadding HOT 1
- Add support for Javascript Typed Arrays HOT 5
- Cannot read property 'words' of undefined HOT 2
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 crypto-js.