Neo4j校驗密碼生成代碼(Python)

在Neo4j的數據目錄下有一個dbms目錄,裏面存儲的是身份校驗文件authnode

[root@datanode data]# ll
total 0
drwxr-xr-x 3  112 nfsnobody 21 Jan 29 14:34 databases
drwxr-xr-x 2 root root      17 Jan 29 14:36 dbms

[root@datanode dbms]# ls
auth

查看auth文件:算法

[root@datanode dbms]# cat auth
neo4j:SHA-256,0A9FC5A9A9C368A3FD2E41F9BB024AAA3CA8808B3428A4EE2D72B13703A7AD5E,FADA2AD5718A00B0DAB07735FFD16038:

文件的內容比較簡單,形式是「用戶名:加密算法,<根據原始密碼生成的密碼>,<加密的salt鹽>」。若是忘記密碼或者想修改密碼時,能夠手工配置或替換此文件。Python代碼以下:api

Python 3.x:加密

import hashlib
import codecs

username = input("please input your username: ")
passwd = input("please input your password: ")
salt = input("please input salt: ")

salt_byte = bytes(salt.encode())
passwd_byte = codecs.encode(passwd.encode(), 'hex')

salt_pass = bytearray.fromhex((salt_byte + passwd_byte).decode())

print(username + ":" + "SHA-256," + hashlib.sha256(salt_pass).hexdigest().upper() + "," + salt.upper() + ":")

Python 2.x:.net

from __future__ import print_function
import hashlib
import codecs

username = raw_input("please input your username: ")
passwd = raw_input("please input your password: ")
salt = raw_input("please input salt: ")

salt_byte = bytes(salt.encode())
passwd_byte = codecs.encode(passwd.encode(), 'hex')

salt_pass = bytearray.fromhex((salt_byte + passwd_byte).decode())

print(username + ":" + "SHA-256," + hashlib.sha256(salt_pass).hexdigest().upper() + "," + salt.upper() + ":")

參考連接:rest

  1. https://stackoverflow.com/que...
  2. http://blog.csdn.net/wjzhangc...
相關文章
相關標籤/搜索