Javascript encoding question

Theodore Lytras thlytras at gmail.com
Sat Jul 14 11:50:42 EEST 2007


Στις Σάββατο 14 Ιούλιος 2007 02:17, ο/η Giorgos Keramidas έγραψε:
> On 2007-07-14 00:13, Θοδωρής Λύτρας <thlytras at gmail.com> wrote:
> > Προσπαθώ να φτιάξω μια εφαρμογούλα με χρήση PHP και Javascript. Σε κάποιο
> > σημείο της κάνω χρήση της συνάρτησης sha1 της PHP (mcrypt module), καθώς
> > και ενός αντίστοιχου έτοιμου javascript που υπολογίζει το sha1 hash.
> >
> > Αν τροφοδοτήσω τις δύο συναρτήσεις με κάποια αγγλική λέξη, δίνουν το ίδιο
> > hash. Αν όμως τους δώσω μια ελληνική λέξη, δεν δίνουν το ίδιο hash.
[snip, snip]

> Δοκίμασε να μετατρέψεις το string σε byte-array 
Γίνεται αυτό σε javascript? Αν ναι πως? Στο βιβλίο "javascript bible" δεν 
υπάρχει κάτι σχετικό.

> και τύπωσε τα bytes που 
> έχει κάθε φορά.  Αν είναι διαφορετικά (που θά 'πρεπε να είναι), τότε
> είναι λογικό το sha1 hash να είναι διαφορετικό:

Γιατί πρέπει να είναι διαφορετικά αν έχουν το ίδιο encoding? Και πως θα 
μπορέσω να τα εναρμονίσω αυτά, ώστε οι δύο συναρτήσεις σε javascript και php 
να δίνουν το ίδιο sha1?

Ξαναλέω οτι με τους αγγλικούς, αριθμητικούς, κτλ χαρακτήρες δεν υπάρχει 
πρόβλημα. Με τα ελληνικά όμως υπάρχει. Τι encoding υποτίθεται πως 
χρησιμοποιεί η javascript? Δε χρησιμοποιεί utf8? Κάπου είχα ακούσει οτι η 
javascript δεν τα πάει καλά με το unicode... ισχύει?

> =====
>
> $ echo τεστ | iconv -t utf-8 | hd
> 00000000  cf 84 ce b5 cf 83 cf 84  0a                       |Ο.Ξ΅Ο.Ο..|
> 00000009
> $ echo τεστ | hd
> 00000000  f4 e5 f3 f4 0a                                    |τεστ.|
> 00000005
> $
>
> =====
>
> $ echo τεστ | iconv -t utf-8 | sha1
> 2dc49218330f983c454d75492b98d3abdade2759
> $ echo τεστ | sha1
> e697010e9e6f771b59f1bcebb43186454ca829e7
> $
>
> =====

Οι πρώτες δύο βγάζουν error στο suse μου, οι επόμενες δύο δουλεύουν αν αλλάξω 
το sha1 με sha1sum. Όμως μου δίνουν το ίδιο hash που βγάζει σε utf8 - 
προφανώς η κονσόλα μου είναι utf8 enabled, σωστά?

Τι σχέση όμως έχουν αυτές οι εντολές;

Θοδωρής

-- 
"Beauty is transitory"
"Beauty survives"
        - Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
by Theodore Lytras <aspirin at myrealbox.com>




More information about the Linux-greek-users mailing list