Κωδικοί με shell script

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Κωδικοί με shell script

Δημοσίευσηαπό aantonis » 06 Μαρ 2022, 16:03

Έχω ένα shell script για την παραγωγή ισχυρών κωδικών. Ο κώδικάς του είναι διαμορφωμένος ως εξής:

#!/usr/bin/env sh
for apotelesma in `seq 1 5`
do
date | sha512sum | head -c 20
echo ""
sleep 1
done

Υπάρχει τρόπος να διαμορφωθεί έτσι ώστε οι παραγόμενοι κωδικοί να εμφανίζονται σε ένα αρχείο text μόλις εκτελεστεί το script; Ακόμη υπάρχει τρόπος ώστε οι δημιουργούμενοι κωδικοί να εμπεριέχουν και ελληνικούς, εκτός από λατινικούς χαρακτήρες;
Λειτουργικό: Ubuntu Linux 10.04 32 bit
Επεξεργαστής: Intel core 2 Duo Cpu T8300
Μνήμη: 4GB
aantonis
babeTUX
babeTUX
 
Δημοσιεύσεις: 65
Εγγραφή: 24 Μάιος 2008, 17:53
Εκτύπωση

Re: Κωδικοί με shell script

Δημοσίευσηαπό Maras » 06 Μαρ 2022, 22:26

Καλησπέρα για την πρώτη ερώτηση ο κώδικας θα γίνει κάπως έτσι :
Κώδικας: Επιλογή όλων
#!/usr/bin/env sh
for apotelesma in `seq 1 5`
do
date | sha512sum | head -c 20 | tee -a "pass.txt"
echo "" | tee -a "pass.txt"
sleep 1
done

Ούτως ώστε να σου δείχνει και τους κωδικούς στην οθόνη αλλά και να τους καταγράφει σε ένα αρχείο με το ονομα pass.txt.
Σχετικά με τους ελληνικούς χαρακτήρες, χρησιμοποιείς τον αλγόριθμο sha512sum και το αποτέλεσμα εν γένει δεν μπορεί να εκτυπώσει ελληνικούς χαρακτήρες. Επίσης ελληνικούς χαρακτήρες σε κωδικό, σπάνια θα χρησιμοποιήσεις στον παγκόσμιο ιστό, μόνο στην περίπτωση που το σύστημα επιτρέπει την χρήση non ASCII χαρακτήρων, πχ. Κυριλικών, Ελληνικών κτλπ.
“Long is the way, and hard, that out of hell leads up to light.”
Άβαταρ μέλους
Maras
saintTUX
saintTUX
 
Δημοσιεύσεις: 1460
Εγγραφή: 25 Ιούλ 2017, 12:49
Εκτύπωση

Re: Κωδικοί με shell script

Δημοσίευσηαπό aantonis » 08 Μαρ 2022, 12:15

Ευχαριστώ πολύ για την συμβουλή!
Λειτουργικό: Ubuntu Linux 10.04 32 bit
Επεξεργαστής: Intel core 2 Duo Cpu T8300
Μνήμη: 4GB
aantonis
babeTUX
babeTUX
 
Δημοσιεύσεις: 65
Εγγραφή: 24 Μάιος 2008, 17:53
Εκτύπωση

Re: Κωδικοί με shell script

Δημοσίευσηαπό Maras » 08 Μαρ 2022, 17:55

Να είσαι καλά φίλε!
“Long is the way, and hard, that out of hell leads up to light.”
Άβαταρ μέλους
Maras
saintTUX
saintTUX
 
Δημοσιεύσεις: 1460
Εγγραφή: 25 Ιούλ 2017, 12:49
Εκτύπωση

Re: Κωδικοί με shell script

Δημοσίευσηαπό roman » 08 Απρ 2022, 02:05

Καλησπέρα aantonis,

Ο τρόπος που σου γράφει ο Maras για να τους αποθηκεύεις στο αρχείο δουλεύει μια χαρά. Θα ήθελα όμως να επισημάνω ότι για κανέναν λόγο δεν είναι αυτός σωστός τρόπος για να την παραγωγή ΙΣΧΥΡΩΝ κωδικών όπως αναφέρεις. Ένας generated κωδικός πρέπει να είναι τυχαίος. Για παράδειγμα αν ξέρω την ώρα που έκανες εγγραφή σε ένα site μπορώ να υπολογίσω όλους τους πιθανούς (60x60=)3600 κωδικούς και να τους δοκιμάσω. Όπως καταλαβαίνεις οι πιθανοί κωδικοί δεν είναι και πολλοί. Ακόμα και αν δεν ήξερα την ώρα αλλά μόνο την μέρα ή ακόμα και την βδομάδα δεν θα ήταν δύσκολο.

Εναλλακτικά είναι καλύτερο να χρησιμοποιήσεις ένα από τα πολλά εργαλεία που υπάρχουν που θα σου κάνουν την ζωή πιο εύκολη όπως π.χ. το openssl:
Κώδικας: Επιλογή όλων
openssl rand -base64 12
No LSB modules are available.
roman
punkTUX
punkTUX
 
Δημοσιεύσεις: 178
Εγγραφή: 11 Φεβ 2009, 15:09
Τοποθεσία: Θεσσαλονίκη
IRC: rwmanos
Εκτύπωση

Re: Κωδικοί με shell script

Δημοσίευσηαπό Maras » 08 Απρ 2022, 20:33

Πολύ σωστή παρατήρηση roman, aantonis τσέκαρε για random generation αλγόριθμους και pseudo-random numbers, μπορείς να τροποποιήσεις τον αλγόριθμό σου έτσι ώστε να παράγεις πιο ισχυρά passwords.
“Long is the way, and hard, that out of hell leads up to light.”
Άβαταρ μέλους
Maras
saintTUX
saintTUX
 
Δημοσιεύσεις: 1460
Εγγραφή: 25 Ιούλ 2017, 12:49
Εκτύπωση


  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Οδηγοί - How to - Tutorials

cron