· 8 years ago · Apr 13, 2018, 07:56 PM
1#!/bin/bash
2#
3# Quick and dirty way to store a persistent password.
4
5DB="/var/db/password.sqlite3"
6
7HOSTNAME="$1"
8TABLE="$2"
9
10if [ -z "$HOSTNAME" -o -z "$TABLE" ]; then
11 echo "Error: Hostname as arg1, Table as arg2"
12 exit 1
13fi
14
15sqlite3 "$DB" "CREATE TABLE IF NOT EXISTS '${TABLE}' ( hostname VARCHAR(255) PRIMARY KEY, password TEXT );"
16PASSWORD="$(sqlite3 "$DB" "SELECT password FROM '${TABLE}' WHERE hostname = '${HOSTNAME}';")"
17
18if [ -z "$PASSWORD" ]; then
19 PASSWORD="$(uuidgen | openssl sha1)"
20 sqlite3 "$DB" "INSERT INTO '${TABLE}' (hostname, password) VALUES ('${HOSTNAME}', '${PASSWORD}');"
21fi
22
23echo -n "${PASSWORD}"