Инструменти

Нерядко се случва да ми потрябват някакви абсурдно елементарни софтуерни инструменти, които обаче нямам удобно подръка. Повечето от тях са минута-две писане, но точно затова все не се хващам да ги направя… Е, реших да променя това.

На http://www.gatchev.info/tools ще слагам каквито инструментчета ми хрумне да скалъпя набързо. Ще са тъпи, прости и непретенциозни. Ако имате идеи – казвайте, може някой път да намеря пет минутки да надраскам някоя.

Първата джвъчка, която надробих току-що, е генератор на случайни стрингове. Съдържат главни и малки латински букви, цифри, тире и долно тире. Става за правене на пароли, salt-ове и всякакви подобни. Конкретния генериращ код го откраднах (с леки мои модификации) от WordPress, дано не ме съдят. 😉 На който му трябва – да се радва.

(Не, генерираните стрингове не се записват. Нито се записва кой го използва. Не съм корпорация или правителство, че да страдам от мания за власт и контрол. Ѝ съм щастлив от това. 🙂 )

22 Responses to 'Инструменти'

  1. Божо Says:

    Между другото в debian, а сигурно и в другите дистрибуции има пакет pwgen, който генерира случайни пароли.

  2. Петър Петров Says:

    date | md5sum

    date +%s | sha256sum | base64 | head -c 32

    /dev/null | base64

    От http://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line

  3. Петър Петров Says:

    Хм, половината текст беше изяден, ще опитам пак:

    date | md5sum

    date +%s | sha256sum | base64 | head -c 32

    < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}

    openssl rand -base64 32

    dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64

    От http://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line

  4. Петър Петров Says:

    <h5 align=”center”>Written by Grigor Gatchev</h2>

    Наистина набързо ще да е било 🙂

  5. Петър Петров Says:

    Мислих, мислих и не се сещам какви други tool-чета биха били полезни там. Аз например често ползвам превръщане на един час в друга часова зона, но Гугъл го прави това добре. Също обръщане на разни мерни единици, F -> C, lb -> kg, ft -> m etc. Понякога ми е потрябвал календар и за смях не съм имал под ръка, или компютърът го е показвал на неразбираем език. Но не се сещам последно кога това ми е било проблем.

    Аа, чакай, сетих се:

    1. Въвеждаш дата и ти показва колко време е изминало оттогава. Ако въведеш втора (незадължителна) дата, показва времето до нея. Използвам го за възрасти, даже показва зодията 😀
    2. Въвеждаш дата като число, примерно 1463662867 и я ти показва в човешки формат.
    3. ipcalc
    4. Ако решиш да направиш looking glass също може да е полезно, но не знам дали си заслужава.

  6. Виктор Says:

    На мен понякога ми е трябвало да се изберат еди-колко си случайни числа от 1 до еди-колко си.
    А пък веднъж правих някъде някаква HTML страница, на която да се виждат арабските и римските числа от едно до не помня колко беше, май с някакви параметри на , но като го потърсих по едно време, не можах да си го намеря.

  7. Виктор Says:

    Ъъъ, написах преди малко “по-малкоolпо-голямо”, 🙂 и зачезна, както вероятно е и редно.
    Наскоро пък ми потрябва таймер, да ми алармира след определено от мен време или в еди-колко си часа, намерих си, но ако пък го има в тия онлайн джвъчки, може пък да е полезно на някого, освен на мен.

  8. walker Says:

    @Григор: Не бих искал да потушавам или омаловажавам ентусиазма ти за споделяне, но моля те недей. Тези случайни низове е много вреоятно да бъдат използвани за пароли или други тайни – ти самият даваш такова предложение.

    Първият проблем с това, е че се предават по HTTP plaintext по мрежата. Ти може и да не срадаш от мании, но това не важи за всички хора/организации с достъп до трафика. Напр. хора все още минават през проксита на работа или в дома, което на практика сервира “случайните” пароли на работодателя им, или всеки с достъп до проксито.

    Дори и да сложиш HTTPS, все още не е добра идея, понеже създава вредни навици у потребителите – да споделят/извличат тайни от отдалечени места, стига собствника на това място да даде “честна пионерска”, че няма да злоупотребява.

    Изграждането на навици и знания за използването на локални продукти с отворен код за всякакъв вид тайни (напр. KeePass, `openssl rand`, и други подобни) е далеч по-полезно занимание.

  9. Григор Says:

    @Божо: Работя именно с debian, така че знам за pwdgen – но целта тук е по-обща.

    @Петър Петров: Тези методи създават криптографски слаби случайни стрингове. Не ги препоръчвам. Но благодаря за открития бъг (наистина беше много набързо). И ще помисля да надробя и тези идеи.

    @Виктор: Някои от тези неща мога и да ги надробя. 🙂

    @walker: Точно това за паролите наистина има такъв недостатък. Ще помисля за някакъв начин да го избягна. За съжаление в момента не мога да си позволя да го пусна по HTTPS. Но дори така ми се струва по-добра идея, отколкото любимото на твърде много потребители „1234“ или „1111“…

  10. Иван Says:

    @Петър Петров,
    Много лоша идея е да се ползва датата за генериране на случайни числа. Секундите дават твърде малко ентропия, да не говорим, че първата употреба на генерираната парола ще е в близките 3600 секунди.

    Последния пример с urandom и base64 е в пъти по-надежден. Даже мисля че споменатия `pwgen` е скрипт който прави нещо подобно. Само ще препоръчам да се ползва директно /dev/random, защото се четат малко данни и той предоставя повече ентропия.

    @Григор,
    Защо не направиш генератора в javascript, така генерирането ще става в browser-а на клиентската машина?
    Така няма да има нужда хората да ти вярват, просто ще погледнат сорс кода и ще знаят какво става.

  11. Григор Says:

    @Иван: Не ми се струва оправдано. Знам JS малко по-зле от PHP, така че ще ми отнеме повече време, а тези неща ги правя в случайно артисали свободни моменти. А и който може да одитира JS, надали ще има нужда от моя генератор – той е за хора, чиято идея за парола я писах по-горе каква е…

  12. Григор Says:

    Добавих още малко дреболийки – генериране на N случайни числа в определени граници, конвертор между мили за галон и литри за 100 км, конвертори между човешки формат време и UNIX timestamp. Ако някой път ми дойде друга свястна идея и ми артисат петнайсетина минути, може да накълва и нея.

  13. Петър Петров Says:

    https://soylentnews.org/article.pl?sid=16/05/21/0227252

    Microsoft has essentially changed their Windows 10 update notification from a very pushy “opt-in” to an “opt-out”.

  14. gal.eon Says:

    На мен ми се налага често да преформатирам стрингове от/в малки/главни букви. Друго нещо, за което се сещам, е преобразуване от български текст от латиница (шльокавица) на кирилица, както и преобразуване на кирилица от/в различни кодови таблици.
    Разбира се всичко това вече го има из нета, но може да го събереш на твоята страница.

    А, може да направиш генератор за имена на домашни любимци 🙂

  15. Веско Says:

    Преобразуването от латиница в кирилица не е тривиална задача, и най-добре го правят в kredor – http://www.kredor.com/lat2bg/default.aspx

    А най-добрите ми пароли са неща, които да помня лесно, например (това е пример, не е парола, която ползвам) 99%OfThoseWhoBelieveAbsurditiesCanAlsoCommitAtrocities

  16. Григор Says:

    @Петър Петров: Струва ми се трудно представима наглост, до степен да е вероятно партенка, но за всеки случай пуснах веднага запис по въпроса. Благодаря!

    @gal.eon: На времето бях писал конвертор за ДОС между руска и българска (Windows 1251) кодови таблици – RU2BG.EXE. Мисля, че още го има тук-там из Нета. Обработваше текстови файлове и такива от Word за ДОС, и се справяше впечатляващо бързо. 🙂

    Иначе, чак такива сложни неща не ми се правят.

    @Веско: Имаш ли и други такива мъдри пароли, които не използваш? Мисля, че си струва да бъдат публикувани.

  17. Веско Says:

    Паролите, които съчинявам, изразяват вътрешните ми чувства, което не значи непременно мъдрост.

    UtopianCakeIs10%NonExistentAnd90%Deadly
    MostYoungWomenAre200%Attractive
    AreWeTheExternalShellOfASelfishReplicator#DNA#
    TradeTruthForMoralityAndYouLoseA100%OfBoth

    Надявам се, че с тази дължина и използвани символи са достатъчно сигурни. Мисля, че лесното им съчиняване и запомняне е предимство. Но от друга страна това, че са смислени, сигурно е слабост.

  18. Nick Angelow Says:

    [nick@sakurajima ~]$ apg -m15 -MSCN
    vedHetthach-Ob3
    Onn1Quisap=Wryo
    MocVonRej,sled0
    un6OmorcovCics”
    Esh^odCem2Glys2
    Ord6Greirleirt#

    Това е, което ползвам аз да генерирам пароли на моите потребители — било за достъп до операционна система, било за достъп до електронна поща или някъде другаде.

    По въпроса с паролите в мрежата, която администрирам съм станал безкомпромисен — или ползват подобни пароли или ме губят като човек, на когото могат да се оплачат при възникване на някакъв проблем. Още повече след като съм имал случай да ми се налага да трия над 130000 съобщения, попаднали в пощенската кутия на някой небрежен към паролите потребител. Като не разбират от (блага) дума, ще трябва да използвам нещо подобно на Smith & Wesson 🙄

  19. Hristo Says:

    И мойте 5 цента:
    Гадните пароли, които не могат да се запомнят, водят до лоши практики. Карат потребителите да си записват паролите в текстови файл на десктопа… или на бележки залепени за монитора…

    Подхода на Веско е по добър, аз също го ползвам(но не мога да се похваля с подобна мъдрост и използвам думи на български с надеждата, че е по малко вероятно да попаднат в речниците). Насърчавам всички към такава практика като задавам минимална дължина 12-15 символа.

  20. Григор Says:

    @Веско: Истинската им стойност е не в криптографската сила (която за повечето цели също е предостатъчна). 🙂

    @Nick Angelow: Уви – за тяхно собствено добро.

    @Hristo: Хората, които си записват паролите на листчета, обикновено са много трудно спасяеми.

    Проблемът с паролите по принцип е помненето им. Човешката памет просто не е предвидена да пази надеждно голям брой криптографски силни парчета информация. Заобиколки около това има много, но успешните са малко, а универсални сред тях няма.

  21. българин Says:

    Ще напиша нещо интересно – Един добър човек би желал на бежанците днес /и въобще на всички хора/ да живеят добре и човешки /и да имат работа и мир в техните държави- и където и да се намират по света/, а не да измрат от вируси, атентати, в газовите камери и прочие /да не забравяме, че и българи в миналото са били бежанци- и че след 1989 година и много българи търсят препитание и оцеляване в чужди държави/. Надявам се в бъдеще Земята да се оправи и вече да няма омраза, злоба, гняв, насилие, удушаване ,задушаване , смях и т.н- с психично болни и т.н, смях и т.н- с заекващи хора и т.н, богохулства (дори като негодувание, нетърпение, отчаяние, отегчение и т.н), изтезания, безразборен секс, неуважение и/или обиди и т.н – към родител/и и т.н, безработица, лоши прояви, болести и прочие лоши неща между хора (в хора) и прочие – а да има добър и щастлив живот за хората и добър шанс за всеки човек. На света му трябва любов, мир и доброта (и да се промени положително – от лошите крайности до които е стигнал)!Според мен: света трябва да върви към положителни промени и вече да няма войни, конфликти, геноцид/и (над) човек и/или хора, убийства, побои, самоубийства, насилия /в филми, романи, сериали и т. н/, черен и/или лош хумор /примерно с – педераси /изнасилвания (над) тях и въобще и т. н /включително още от детска възраст, импотентни мъже и прочие/, вражди, вулгарни думи, и нищо лошо на Земята. Дано по-скоро света се оправи и промени към добро – аз желая свят без страдание, насилие и въобще без всякакви лоши неща!! Надявам се по-скоро света да се оправи и промени към добро : и отново хората по света да имат добра работа; добър и щастлив живот и т.н!!Ще напиша нещо на друга тема: хората нямаме право да призоваваме (да се смеем и така нататък) за кастрации на хора и така нататък, стерилизация (насилствена и т.н), изнасилвания (и/или съвети и/или заплахи за тях- било анални на мъже и така нататък) на хора и т.н, убийства,самоубийства, войни, вражди, омраза, влизане и/или ходене на хора при психиатри (и/или техните психични и т.н проблеми), побои,удари по тялото, кавги и/или спорове, геноцид над нации от хора, заплахи с оръжие и/или думи (дори казани на шега) и т.н-дори показани в филми, сериали и т.н- това е моето мнение! Няма доказателство, че изнасилвача и физически здрав (а може и да е осъден несправедливо, а реално да е невинен)- би повторил това свое престъпление). Може би само съд може да решава присъдите за всеки човек и т.н. Хората нямаме право да призоваваме за -влизане в болници (вземане на лекарства- било психиатрични и т.н)- било психиатрии и т.н (ходене на лекар/и – било психиатри и т.н) ….На света му трябва да се промени положително – от лошите крайности до които е стигнал), аз не желая изтезания, жестокости, бой, насилия,пошлост, вулгарност, лоши неща, трафиканти на каквото и да е, и т.н – които неща не трябва да съществуват в един добър и възстановен свят (на което се надявам скоро да стане със Земята). …

  22. Григор Says:

    @българин: Всичко това е много хубаво, ама да го напишеш под един запис стига. Няма нужда под всички, това вече го обръща на спам.

Leave a Reply