[Python] Ringraziamenti e dubbi sul SHA-1

Andrea D'Amore and.damore a gmail.com
Sab 11 Lug 2015 08:07:36 CEST


2015-07-10 10:59 GMT+02:00 Manlio Perillo <manlio.perillo a gmail.com>:
> 2015-07-10 9:58 GMT+02:00 Andrea D'Amore <and.damore a gmail.com>:
>> 2015-07-09 19:57 GMT+02:00 Manlio Perillo <manlio.perillo a gmail.com>:
>> > Nota importante: Git usa l'hashing perchè gli oggetti che gestisce sono
>> > *immutabili*.

>> > Se devi confrontare due stringhe che cambiano di volta in volta, usare
>> > l'hashing potrebbe non essere la soluzione migliore.

>> Qual è la differenza con il caso di stringhe Python e Java, entrambe
>> immutabili?

> Mi riferivo a tutt'altra cosa, quando parlavo di oggetti immutabili.
> Gli oggetti che git gestisce (e.g. tree, blog, commit) non hanno nulla a che
> fare con la rappresentazione delle stringhe nei vari linguaggi di programmazione.

> Gli oggetti di git sono immutabili nel senso che una volta aggiunto, ad
> esempio, un file (blob) nel repository, questo file non può più essere modificato.

L'OP ha spiegato che vuole confrontare due stringhe in Py e Java con
SHA-1, come git.
Tu gli hai risposto che potrebbe non essere il modo migliore per le
stringhe, immediatamente dopo aver evidenziato esplicitamente che nel
caso di git gli oggetti trattati sono immutabili. Questa vicinanza
suggerisce che usare SHA-1 nelle stringhe non è il modo migliore
perché non sono immutabili, cosa che non è vera.

La mia domanda è quale sia la differenza nei due scenari, non mi è
chiara la tua risposta alla mia domanda, mi sembra parli d'altro.
Senza sapere altro sullo scenario dell'OP, cioè se ad esempio deve
confrontare due stringhe al mese o duecentomila al minuto, direi che
se vuole confrontare due stringhe "di grosse dimensioni" (magari dei
testi scritti in linguaggio naturale da un utente umano e non dei
tentativi specifici di avere una collisione) può farlo tranquillamente
con SHA-1.

Se intendevi altro e SHA-1 non va bene per confrontare le stringhe
sono felice di imparare perché, specialmente riguardo mutabilità delle
stringhe, o meglio al riferimento dell'immutabilità degli oggetti in
git.


-- 
Andrea


Maggiori informazioni sulla lista Python