mirror of
https://github.com/zadam/trilium.git
synced 2025-11-03 11:56:01 +01:00
password change (reencryption)
This commit is contained in:
0
src/__init__.py
Normal file
0
src/__init__.py
Normal file
@@ -2,7 +2,6 @@ import os
|
||||
|
||||
import binascii
|
||||
import scrypt
|
||||
import configparser
|
||||
from flask import Flask, request, send_from_directory
|
||||
from flask import render_template, redirect
|
||||
from flask_cors import CORS
|
||||
@@ -13,9 +12,9 @@ from sql import connect
|
||||
from tree_api import tree_api
|
||||
from notes_move_api import notes_move_api
|
||||
from password_api import password_api
|
||||
import config_provider
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read('config.ini')
|
||||
config = config_provider.getConfig()
|
||||
|
||||
app = Flask(__name__)
|
||||
app.secret_key = config['Security']['flaskSecretKey']
|
||||
@@ -54,7 +53,7 @@ documentPath = config['Document']['documentPath']
|
||||
|
||||
connect(documentPath)
|
||||
|
||||
hashedPassword = config['Login']['password-hash'].encode('utf-8')
|
||||
hashedPassword = config['Login']['passwordHash'].encode('utf-8')
|
||||
|
||||
|
||||
def verify_password(hex_hashed_password, guessed_password):
|
||||
|
||||
7
src/config_provider.py
Normal file
7
src/config_provider.py
Normal file
@@ -0,0 +1,7 @@
|
||||
import configparser
|
||||
|
||||
def getConfig():
|
||||
config = configparser.ConfigParser()
|
||||
config.read('config.ini')
|
||||
|
||||
return config
|
||||
21
src/my_scrypt.py
Normal file
21
src/my_scrypt.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import scrypt # pip install scrypt
|
||||
|
||||
def getVerificationHash(password):
|
||||
salt = "dc73b57736511340f132e4b5521d178afa6311c45e0c25e6a9339038507852a6"
|
||||
|
||||
return getScryptHash(password, salt)
|
||||
|
||||
def getEncryptionHash(password):
|
||||
salt = "2503bfc386bc028772f803887eaaf4d4a5c1019036873e4ba5de79a4efb7e8d8"
|
||||
|
||||
return getScryptHash(password, salt)
|
||||
|
||||
def getScryptHash(password, salt):
|
||||
hashed = scrypt.hash(password=password,
|
||||
salt=salt,
|
||||
N=16384,
|
||||
r=8,
|
||||
p=1,
|
||||
buflen=32)
|
||||
|
||||
return hashed
|
||||
@@ -1,8 +1,8 @@
|
||||
from flask import Blueprint, jsonify, request
|
||||
from flask_login import login_required
|
||||
import hashlib
|
||||
import configparser
|
||||
import binascii
|
||||
import config_provider
|
||||
|
||||
password_api = Blueprint('password_api', __name__)
|
||||
|
||||
@@ -11,16 +11,12 @@ password_api = Blueprint('password_api', __name__)
|
||||
def verifyPassword():
|
||||
req = request.get_json(force=True)
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read('config.ini')
|
||||
config = config_provider.getConfig()
|
||||
|
||||
hashedPassword = config['Login']['password-hash'].encode('utf-8')
|
||||
hashedPassword = config['Login']['passwordHash'].encode('utf-8')
|
||||
hashedPasswordBytes = binascii.unhexlify(hashedPassword)
|
||||
hashedPasswordSha = hashlib.sha256(hashedPasswordBytes).hexdigest()
|
||||
|
||||
print(req['password'])
|
||||
print(hashedPasswordSha)
|
||||
|
||||
isValid = req['password'] == hashedPasswordSha
|
||||
|
||||
return jsonify({
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import base64
|
||||
import sqlite3
|
||||
|
||||
conn = None
|
||||
|
||||
def dict_factory(cursor, row):
|
||||
d = {}
|
||||
for idx, col in enumerate(cursor.description):
|
||||
|
||||
Reference in New Issue
Block a user