Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot read property 'words' of undefined #41

Closed
GoogleCodeExporter opened this issue Jul 29, 2015 · 5 comments
Closed

Cannot read property 'words' of undefined #41

GoogleCodeExporter opened this issue Jul 29, 2015 · 5 comments

Comments

@GoogleCodeExporter
Copy link

1. Reference 
http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/sha1.js
2. Call CryptoJS.SHA1("Message")

Expected output is a hashed string. Actual output is a JS engine error message: 
"Cannot read property 'words' of undefined"

Chrome 19.0.1084.56 m on Windows 7.

Original issue reported on code.google.com by pasc...@gmail.com on 21 Jun 2012 at 8:06

@GoogleCodeExporter
Copy link
Author

Hi, pascalh. I can't reproduce this issue. Could you attach a full working page 
where the issue occurs?

Original comment by Jeff.Mott.OR on 21 Jun 2012 at 9:17

@GoogleCodeExporter
Copy link
Author

Hi,

I've attached minimal HTML + Javascript below. It seems to only happen in 
conjunction with jQuery's XmlHttpRequest function.

Download the files, put the *.js files in a js/ subdirectory, then load the 
page in a browser and open a JS console so you can see the error messages. 
Press the "Test" button. I get "Uncaught TypeError: Cannot read property 
'words' of undefined" on cryptojs-sha1.js:8 and the browser performs a form 
submission - why I don't know, since the submit event handler returns false.

Pascal

Original comment by pasc...@gmail.com on 22 Jun 2012 at 9:03

Attachments:

@GoogleCodeExporter
Copy link
Author

Ahh, it's because the hash you get back is an object (see 
[http://code.google.com/p/crypto-js/#The_Hasher_Output The Hasher Output]). And 
when you pass an object to jQuery's data property, then jQuery tries to convert 
it to a query string.

You'll need to make sure the hash has been serialized to a string. For example:

{ key: CryptoJS.SHA1("Message") + '' }

- or -

{ key: CryptoJS.SHA1("Message").toString() }

Original comment by Jeff.Mott.OR on 22 Jun 2012 at 3:25

@GoogleCodeExporter
Copy link
Author

Ahh, sorry, should have read the docs more carefully! I just assumed it was a 
string because, well, that's what the alert displays :-)

Thanks

Pascal

Original comment by pasc...@gmail.com on 22 Jun 2012 at 3:51

@GoogleCodeExporter
Copy link
Author

Original comment by Jeff.Mott.OR on 25 Jun 2012 at 9:42

  • Changed state: Invalid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant