Use jshashes on Enter new password

This commit is contained in:
Sofiya Tepikin
2022-09-19 15:15:48 +02:00
parent afc177cb53
commit f5004f2d7a
@@ -1,35 +1,24 @@
import React, { useState, useEffect } from 'react' import React, { useState } from 'react'
import { KeyboardAvoidingView, StyleSheet } from 'react-native' import { KeyboardAvoidingView, StyleSheet } from 'react-native'
import nodejs from 'nodejs-mobile-react-native'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { SHA512 } from 'jshashes'
import AppText from '../../common/app-text' import AppText from '../../common/app-text'
import AppTextInput from '../../common/app-text-input' import AppTextInput from '../../common/app-text-input'
import Button from '../../common/button' import Button from '../../common/button'
import { requestHash } from '../../../db'
import { Colors, Spacing } from '../../../styles' import { Colors, Spacing } from '../../../styles'
import settings from '../../../i18n/en/settings' import settings from '../../../i18n/en/settings'
const LISTENER_TYPE = 'create-or-change-pw'
const EnterNewPassword = ({ changeEncryptionAndRestart }) => { const EnterNewPassword = ({ changeEncryptionAndRestart }) => {
const [password, setPassword] = useState('') const [password, setPassword] = useState('')
const [passwordConfirmation, setPasswordConfirmation] = useState('') const [passwordConfirmation, setPasswordConfirmation] = useState('')
const [shouldShowErrorMessage, setShouldShowErrorMessage] = useState(false) const [shouldShowErrorMessage, setShouldShowErrorMessage] = useState(false)
useEffect(() => {
const listener = nodejs.channel.addListener(
LISTENER_TYPE,
changeEncryptionAndRestart,
this
)
return () => listener.remove()
}, [])
const savePassword = () => { const savePassword = () => {
if (comparePasswords()) { if (comparePasswords()) {
requestHash(LISTENER_TYPE, password) const hash = new SHA512().hex(password)
changeEncryptionAndRestart(hash)
} else { } else {
setShouldShowErrorMessage(true) setShouldShowErrorMessage(true)
} }