SHA-1 hash tamamen sayısal olabilir mi?

3 Cevap php

SHA-1 hash tamamen sayısal olabilir, ya da algoritma en az bir alfabetik karakter olmalıdır emin olmadığını herhangi bir şans var mı?

Edit: PHP'nin sha1 () işlevi tarafından döndürülen bir dizge olarak, temel 16 onu temsil ediyorum.

3 Cevap

teknik, bir SHA1 karma neredeyse her zaman bir harf vardır ki (PHP'nin sha1 () ne olduğu) sadece en sık temel 16 kodlanmış, bir sayıdır. Bu olsa hiçbir garantisi yoktur.

Bir hex oran hiçbir hane AF olan 160 bit numarası kodlanmıştır (10/16) 40 veya yaklaşık 6,84227766 × 10 -9 vardır

SHA-1 hash 160 bitlik bir sayıdır. Bunu yazma kolaylığı için, normalde onaltılık yazılmıştır. Onaltılık (baz 16) hane 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e ve f. Harfler ile ilgili özel bir şey yoktur. Karma demektir 4 bit eşdeğer Her onaltılık karakter 40 karakter yazılabilir.

Ben bir SHA-1 hash herhangi bir harf olamaz herhangi bir neden var olduğuna inanmıyorum, ama imkansız değildir. Bu 40 haneli (10 tabanı) rasgele sayı üreten ve herhangi 7s, 8s veya 9s almıyor gibi.

İstediğiniz herhangi bir baz (sadece herhangi bir ikili veri gibi) SHA1 çıkışını temsil edebilir. Özellikle, base-8/10 içinde sonuç kodlamak.