Browse Source

blog password hash

Bob Mottram 9 years ago
parent
commit
490dcdac4a
2 changed files with 24 additions and 0 deletions
  1. BIN
      man/freedombone-sec.1.gz
  2. 24
    0
      src/freedombone-sec

BIN
man/freedombone-sec.1.gz View File


+ 24
- 0
src/freedombone-sec View File

@@ -959,6 +959,23 @@ function monkeysphere_sign_server_keys {
959 959
 	exit 0
960 960
 }
961 961
 
962
+function blog_hash {
963
+	# produces a hash corresponding to a blog password
964
+	pass="$1"
965
+	BLOGHASH_FILENAME=/usr/bin/bloghash
966
+
967
+	echo '<?php' > $BLOGHASH_FILENAME
968
+	echo 'parse_str(implode("&", array_slice($argv, 1)), $_GET);' >> $BLOGHASH_FILENAME
969
+	echo '$password = $_GET["password"];' >> $BLOGHASH_FILENAME
970
+	echo '$hash = password_hash($password, PASSWORD_BCRYPT);' >> $BLOGHASH_FILENAME
971
+	echo 'if (password_verify($password, $hash)) {' >> $BLOGHASH_FILENAME
972
+	echo '  echo $hash;' >> $BLOGHASH_FILENAME
973
+	echo '}' >> $BLOGHASH_FILENAME
974
+	echo '?>' >> $BLOGHASH_FILENAME
975
+
976
+	php $BLOGHASH_FILENAME password="$pass"
977
+}
978
+
962 979
 function show_help {
963 980
   echo ''
964 981
   echo "${PROJECT_NAME}-sec"
@@ -972,6 +989,7 @@ function show_help {
972 989
   echo $'  -r --refresh             Refresh GPG keys for all users'
973 990
   echo $'  -s --sign                Sign monkeysphere server keys'
974 991
   echo $'     --register [domain]   Register a https domain with monkeysphere'
992
+  echo $'  -b --bloghash [password] Returns the hash of a password for the blog'
975 993
   echo ''
976 994
   exit 0
977 995
 }
@@ -1011,6 +1029,12 @@ case $key in
1011 1029
 	shift
1012 1030
 	monkeysphere_sign_server_keys
1013 1031
 	;;
1032
+	# get a hash of the given blog password
1033
+	-b|--bloghash)
1034
+	shift
1035
+	blog_hash "$1"
1036
+	exit 0
1037
+	;;
1014 1038
 	*)
1015 1039
 	# unknown option
1016 1040
 	;;