Commit ee04d6a4 authored by 前端-许佳敏's avatar 前端-许佳敏

feat:对密码进行AES加密

parent a00f45dd
......@@ -38,6 +38,7 @@
"@antv/data-set": "^0.11.5",
"@formily/antd": "^1.3.3",
"@formily/antd-components": "^1.3.3",
"@types/crypto-js": "^4.0.1",
"@umijs/hooks": "^1.9.3",
"@umijs/plugin-esbuild": "^1.0.1",
"@umijs/preset-react": "1.x",
......@@ -45,6 +46,7 @@
"antd-img-crop": "^3.12.0",
"bizcharts": "^4.0.14",
"copy-to-clipboard": "^3.3.1",
"crypto-js": "^4.0.0",
"god": "^0.2.1",
"immutability-helper": "^3.1.1",
"lingxi-design": "^1.0.8",
......
......@@ -2,7 +2,6 @@ import { IRoutes } from '.';
import { history, RequestConfig, Redirect } from 'umi';
import React from 'react'
import MobxProvider from './store'
import queryString from 'query-string'
import '@/global/styles/reset.less'; // 重置antd样式
import '@/global/styles/global.less'; // 导入全局样式
......
......@@ -8,6 +8,7 @@ import {
} from '@ant-design/icons';
import { PublicApi } from '@/services/api';
import { setAuth, setRouters } from '@/utils/auth';
import { encryptedByAES } from '@/utils/cryptoAes';
const LoginWrap: React.FC = () => {
const { redirect } = history.location.query
......@@ -16,6 +17,7 @@ const LoginWrap: React.FC = () => {
const [loginLoading, setLoginLoading] = useState<boolean>(false)
const finish = (value: any) => {
value.password = encryptedByAES(value.password)
setLoginLoading(true)
PublicApi.postMemberLogin(value).then(res => {
const { data, code } = res
......
......@@ -11,6 +11,7 @@ import { PATTERN_MAPS } from '@/constants/regExp';
import { omit } from '@/utils';
import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import { encryptedByAES } from '@/utils/cryptoAes';
const actions = createFormActions()
......@@ -21,6 +22,7 @@ const GetBack: React.FC = () => {
const { account } = value
const isEmail = PATTERN_MAPS.email.test(account)
const accountParams = isEmail ? {email: account, ...omit(value, ['account', 'confirmPassword'])} : { phone: account, ...omit(value, ['account', 'confirmPassword']) }
accountParams.password = encryptedByAES(accountParams.password)
const submitFn = isEmail ? PublicApi.postMemberRegisterResetEmail : PublicApi.postMemberRegisterResetSms
const { code } = await submitFn(accountParams)
......
......@@ -15,6 +15,7 @@ import { omit, transFormSchema, filterUndef } from '@/utils';
import { PublicApi } from '@/services/api';
import NiceForm from '@/components/NiceForm';
import schemas from './schema';
import { encryptedByAES } from '@/utils/cryptoAes';
const { onFieldValueChange$, onFieldInputChange$, onFieldValidateEnd$ } = FormEffectHooks
......@@ -235,6 +236,7 @@ const UserRegistry = () => {
// 写死传入的区号
formCache.countryCode = prefixCode
const params = omit(formCache, ['isRead', 'confirmPassword'])
params.password = encryptedByAES(params.password)
setSubmitLoading(true)
PublicApi.postMemberRegister(params).then(({ code }) => {
if (code === 1000) {
......
import CryptoJS from 'crypto-js'
var key = CryptoJS.enc.Utf8.parse('GzSsyLingxi2.0.0');
// var iv = CryptoJS.enc.Utf8.parse('JlM6cyqmrC2zKNsx');
/**
* @auth xjm
* 加密方法
*/
export const encryptedByAES = (source: string) => {
var password=CryptoJS.enc.Utf8.parse(source);
var encrypted = CryptoJS.AES.encrypt(password, key, {mode:CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7}); //CryptoJS.pad.Pkcs7
return encrypted.toString() // 加密后的base64
}
/**
* @auth xjm
* 解密方法
*/
export const decryptedByAES = (source: string) => {
var decrypted = CryptoJS.AES.decrypt(source, key, {mode:CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7}); //CryptoJS.pad.Pkcs7
return decrypted.toString(CryptoJS.enc.Utf8) // 解密后的原始字符串
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment