HullEncrypt (base and gui) are inspired by Skeleton
The GUI is not working as of 3a7b9ea
Parent -> Node -> Child -> Child
Every node can be unlocked by it's parent, or it's password, and can unlock all of it's children this is because the childs key is generated by hashing the Parent's key and the Nodes UUID
A user wich has been given an unlocked Node can't get the parents key with the knowledge of the childs key as it is hashed + salted to get the childs key, allowing for multiple Children on the same node without having security issues.
importbaseimportosroot_node=base.Node(parent_key=os.urandom(16), name=b'root_node', password=b'example pass')
root_key=root_node.get_key(password=b'example pass')
# needs the root_key to create new childuser_one=base.Node(parent_key=root_key, name=b'user_one', password=b'users pass')
user_key=user_one.get_key(password=b'user pass')
root_node.children.append(user_one)
netflix=base.Node(parent_key=user_key, name=b'neftlix', content=b'Netflix password')
user_one.children.append(user_one)
delroot_keydeluser_key# later for authpassw=input("Enter your password: ").encode("utf-8")
neftlix=user_one.get_child(["neftlix"])
user_key=user_one.get_key(password=passw)
netflix_key=user_one.get_child_key(key=key, path=["netflix"])
deluser_keyprint(netflix.get_content(netflix_key).decode("utf-8"))
delnetflix_key