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

feat:对密码进行AES加密

parent a00f45dd
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
"@antv/data-set": "^0.11.5", "@antv/data-set": "^0.11.5",
"@formily/antd": "^1.3.3", "@formily/antd": "^1.3.3",
"@formily/antd-components": "^1.3.3", "@formily/antd-components": "^1.3.3",
"@types/crypto-js": "^4.0.1",
"@umijs/hooks": "^1.9.3", "@umijs/hooks": "^1.9.3",
"@umijs/plugin-esbuild": "^1.0.1", "@umijs/plugin-esbuild": "^1.0.1",
"@umijs/preset-react": "1.x", "@umijs/preset-react": "1.x",
...@@ -45,6 +46,7 @@ ...@@ -45,6 +46,7 @@
"antd-img-crop": "^3.12.0", "antd-img-crop": "^3.12.0",
"bizcharts": "^4.0.14", "bizcharts": "^4.0.14",
"copy-to-clipboard": "^3.3.1", "copy-to-clipboard": "^3.3.1",
"crypto-js": "^4.0.0",
"god": "^0.2.1", "god": "^0.2.1",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"lingxi-design": "^1.0.8", "lingxi-design": "^1.0.8",
......
...@@ -2,7 +2,6 @@ import { IRoutes } from '.'; ...@@ -2,7 +2,6 @@ import { IRoutes } from '.';
import { history, RequestConfig, Redirect } from 'umi'; import { history, RequestConfig, Redirect } from 'umi';
import React from 'react' import React from 'react'
import MobxProvider from './store' import MobxProvider from './store'
import queryString from 'query-string'
import '@/global/styles/reset.less'; // 重置antd样式 import '@/global/styles/reset.less'; // 重置antd样式
import '@/global/styles/global.less'; // 导入全局样式 import '@/global/styles/global.less'; // 导入全局样式
......
...@@ -8,6 +8,7 @@ import { ...@@ -8,6 +8,7 @@ import {
} from '@ant-design/icons'; } from '@ant-design/icons';
import { PublicApi } from '@/services/api'; import { PublicApi } from '@/services/api';
import { setAuth, setRouters } from '@/utils/auth'; import { setAuth, setRouters } from '@/utils/auth';
import { encryptedByAES } from '@/utils/cryptoAes';
const LoginWrap: React.FC = () => { const LoginWrap: React.FC = () => {
const { redirect } = history.location.query const { redirect } = history.location.query
...@@ -16,6 +17,7 @@ const LoginWrap: React.FC = () => { ...@@ -16,6 +17,7 @@ const LoginWrap: React.FC = () => {
const [loginLoading, setLoginLoading] = useState<boolean>(false) const [loginLoading, setLoginLoading] = useState<boolean>(false)
const finish = (value: any) => { const finish = (value: any) => {
value.password = encryptedByAES(value.password)
setLoginLoading(true) setLoginLoading(true)
PublicApi.postMemberLogin(value).then(res => { PublicApi.postMemberLogin(value).then(res => {
const { data, code } = res const { data, code } = res
......
...@@ -11,6 +11,7 @@ import { PATTERN_MAPS } from '@/constants/regExp'; ...@@ -11,6 +11,7 @@ import { PATTERN_MAPS } from '@/constants/regExp';
import { omit } from '@/utils'; import { omit } from '@/utils';
import { createFormActions } from '@formily/antd'; import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api'; import { PublicApi } from '@/services/api';
import { encryptedByAES } from '@/utils/cryptoAes';
const actions = createFormActions() const actions = createFormActions()
...@@ -21,6 +22,7 @@ const GetBack: React.FC = () => { ...@@ -21,6 +22,7 @@ const GetBack: React.FC = () => {
const { account } = value const { account } = value
const isEmail = PATTERN_MAPS.email.test(account) const isEmail = PATTERN_MAPS.email.test(account)
const accountParams = isEmail ? {email: account, ...omit(value, ['account', 'confirmPassword'])} : { phone: account, ...omit(value, ['account', 'confirmPassword']) } 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 submitFn = isEmail ? PublicApi.postMemberRegisterResetEmail : PublicApi.postMemberRegisterResetSms
const { code } = await submitFn(accountParams) const { code } = await submitFn(accountParams)
......
...@@ -15,6 +15,7 @@ import { omit, transFormSchema, filterUndef } from '@/utils'; ...@@ -15,6 +15,7 @@ import { omit, transFormSchema, filterUndef } from '@/utils';
import { PublicApi } from '@/services/api'; import { PublicApi } from '@/services/api';
import NiceForm from '@/components/NiceForm'; import NiceForm from '@/components/NiceForm';
import schemas from './schema'; import schemas from './schema';
import { encryptedByAES } from '@/utils/cryptoAes';
const { onFieldValueChange$, onFieldInputChange$, onFieldValidateEnd$ } = FormEffectHooks const { onFieldValueChange$, onFieldInputChange$, onFieldValidateEnd$ } = FormEffectHooks
...@@ -235,6 +236,7 @@ const UserRegistry = () => { ...@@ -235,6 +236,7 @@ const UserRegistry = () => {
// 写死传入的区号 // 写死传入的区号
formCache.countryCode = prefixCode formCache.countryCode = prefixCode
const params = omit(formCache, ['isRead', 'confirmPassword']) const params = omit(formCache, ['isRead', 'confirmPassword'])
params.password = encryptedByAES(params.password)
setSubmitLoading(true) setSubmitLoading(true)
PublicApi.postMemberRegister(params).then(({ code }) => { PublicApi.postMemberRegister(params).then(({ code }) => {
if (code === 1000) { 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