
BG Development · За реклама · За контакти |
![]() ![]() ![]() ![]() ![]() |
Здравей! ( Включване | Регистриране ) |
![]() ![]() ![]() |
dedal |
Публикувано на: 05-05-2019, 09:47
|
||
Име: Григор Колев Група: Потребител Ранг: Посетител Мнения: 110 Регистриран на: 17.11.10 ![]() |
Трябва да генерирам индивидуално id за транзакци. Взимам последното в hex обръщам го в int и добавям 1 и то изглежда нещо от сорта:
И тук идва проблема, работи до 7Е или дължината на всеки бит е от 20 до 7Е при достигане на 7Е последния бит трябва да стане 20 а предходния 21 И не се сещам за умен начин. Това мнение е било редактирано от dedal на 05-05-2019, 09:48 |
||
kierenski |
Публикувано на: 05-05-2019, 09:58
|
Име: Група: Потребител Ранг: Редовен член Мнения: 360 Регистриран на: 10.01.16 ![]() |
ID е по-голямо от разрядноста на машината.
Използвай по-малки числа или си направи собствена функция за пресмятане. |
liolioasd |
Публикувано на: 06-05-2019, 18:58
|
||
Име: Група: Потребител Ранг: Посетител Мнения: 52 Регистриран на: 25.12.10 ![]() |
|
||
ici |
Публикувано на: 06-05-2019, 20:39
|
![]() ![]() Име: Луминантен Рептилоид Група: VIP Ранг: Почетен член Мнения: 16628 Регистриран на: 06.06.04 ![]() |
Не е много хубаво идентификатор на транзакция, сесия и пр. да е предвидим. Някакъв хеш + зеленчуци ...
-------------------- Remember kids, suicide is never the answer
|
gat3way |
Публикувано на: 07-05-2019, 00:08
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4383 Регистриран на: 22.06.12 ![]() |
Ако изискването е да са криптоградски сигурни, не просто уникални, хеш функцията на практика не добавя някаква сигурност сама по себе си, освен ако не е подбран някакъв алгоритъм който да е едновременно изчислително интензивен и нарочно да е дизайннат така че да не намазваш много от паралелизация, редовният номер е да подбират такива които ползват повече памет, за да сметнат хеш стойността, там bcrypt, scrypt, но дори това само по себе си не дава никаква гаранция, важното е това което хешираш да има висока ентропия. Например timestamp сам по себе си да хешираш е глупаво, относително лесно ще се брутфорсне ако ще да е там в микросекунди, наносекунди и прочее. Timestamp плюс някаква секретна стойност е относително ОК, ако изхождаш от презюмпцията че секретната стойност няма да се узнае, ако се узнае, тогава проблемът става същият. Та значи трябва си хубав източник на случайни числа, ама наистина хубав, почти всички генератори на псевдослучайни числа не са добра идея например.
|
dedal |
Публикувано на: 04-06-2019, 17:32
|
||
Име: Григор Колев Група: Потребител Ранг: Посетител Мнения: 110 Регистриран на: 17.11.10 ![]() |
Реално е пореден номер на финансова транзакция ( ID в информационната система ). Ключовете са отделно 24 бита с регистрация преди всяка транзакция. Просто протокола казва, че така трябва да е (а то разликата между протокола и терориста , че с терориста можеш да преговаряш). Иначе го докарах по най баламския начин. Добавян 1 и правя проверка +1 ако превишава 7е правя го 20 и добавям +1 на предходния. Това мнение е било редактирано от dedal на 04-06-2019, 17:34 |
||
thrawn |
Публикувано на: 04-06-2019, 18:55
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2668 Регистриран на: 17.01.17 ![]() |
Това което описваш е просто бройна система с основа 5f. Направи си броячът в десетична бройна система и го представяй в такава с онсова 5f когато това е необходимо. По обратната логика конвертирай представянето в системата с основа 5f до десетична, ако се налага да обработваш входящи транзакции в тоя формат.
|
![]() |
![]() ![]() ![]() |