Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
intel_promotion_uniapp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘怀志
intel_promotion_uniapp
Commits
09ce0d2f
Commit
09ce0d2f
authored
Jun 17, 2024
by
杨硕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小程序登录
parent
f888e78b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
141 additions
and
0 deletions
+141
-0
crypto.js
store/crypto.js
+61
-0
jsencrypt.js
store/jsencrypt.js
+30
-0
secret.js
store/secret.js
+50
-0
No files found.
store/crypto.js
0 → 100644
View file @
09ce0d2f
import
WxmpRsa
from
'wxmp-rsa'
;
//公钥和私钥换自己的
// 定义公钥
const
publicKey
=
'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu6EsPHTuCzwyZ7D0/OhW
\
n'
+
'QDQdB9tByC0vDnb7k7gmT0h77/mmJYcwvuqUdj+PXKO+V1NlJJqlf61UjcQkWD9o
\
n'
+
'K6M1MHLHlS1qWXeXGaETClNUXAhdw2IkdBouXSHxyDkXYIDINYlOd91chxEBuBac
\
n'
+
'igJI0c5p9BA62QcOKDUE2mDJL+LOd70NCYsJf3um1IAgfKDX8RH2H3aPxy/BJ8aS
\
n'
+
'Edu+M9YDWsF6VFpaBr/WPPdouuPPjfs5203PCbvp0pvco+05JNDSiurEFcL+VDMm
\
n'
+
'wFNKExmeCvn/zr+UIkRPWHwxfJq+/gw/lt+UzBO2NURhCv4pQZy19vdFLLLeMM09
\
n'
+
'ewIDAQAB'
const
publicKey1
=
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzr+ftfseJxl3XDuf"
+
"RwqrfWrbAWWtovyc3C826VxW9hsN0fplHIdCytUe7m7qf5EHYSSXX/7vyAzui0i/QFtn5umD7DM3QAXQN9yXxqdXQyWG6p"
+
"FuRC8nh63TgGuL4m79zvHRcmKT3kyNKfWeZS+kw/sT9KxuXuC4E7FcPeGnmQam901aAOGPNwmaIMaFmLmy4nlUnTPbscbS"
+
"qpMhMERk00QMG3Vd6SJ65ch2Xr7x73I3SIwNOq8TJby/c3yB4Q38nOeJbjbiV99fo6HYqKr11/jsALjHANCO/4hkAkLqGhT"
+
"jAnBB2EYcGU6ruf4iKDuyek5gl8N/Klt8IkP6eVbMcQIDAQAB"
// 定义私钥
const
passwordPublicKey
=
'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD
\
n'
+
'2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ=='
const
passwordPrivateKey
=
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOv5+1+x4nG"
+
"XdcO59HCqt9atsBZa2i/JzcLzbpXFb2Gw3R+mUch0LK1R7ubup/kQdhJJdf/u/IDO6LSL9AW2fm6YPsMzdABdA33JfGp1d"
+
"DJYbqkW5ELyeHrdOAa4vibv3O8dFyYpPeTI0p9Z5lL6TD+xP0rG5e4LgTsVw94aeZBqb3TVoA4Y83CZogxoWYubLieVSdM"
+
"9uxxtKqkyEwRGTTRAwbdV3pInrlyHZevvHvcjdIjA06rxMlvL9zfIHhDfyc54luNuJX31+jodioqvXX+OwAuMcA0I7/iGQ"
+
"CQuoaFOMCcEHYRhwZTqu5/iIoO7J6TmCXw38qW3wiQ/p5VsxxAgMBAAECggEAA+8Te+P2U+ohIkkkI7bpQm6pEiK8JhDGb"
+
"04armAKa45iOe+Ywu0z8SYS+5hyr9Czoj6O/s2cBGNymoXc1b2ngXZKA1GKKJazuoxg+u+uMmHhak8wGO4Iw4UkNBpXxAw"
+
"2mhxxzspfY+hy+yxoQiag7PW3EH3Db9y4w+8pAShtBvVXqQRqeDbSadhhpnhpekd/NGcDWlZP+Sce3lNbDslMdKCx2ucdO"
+
"lqfjDo6EsRknqvXS0rpVQyeYFG4iv5i60p1a5YCntXJQgkZgsZME1jb8j6c65x+Hc8/1EkuutRH8T8jdJc3iqcM4rwz983"
+
"1XB0LwktCv8FzWGq+O+ouoELFwQKBgQD54dqHgjvmIQqjKvc634IwMASyKTUg7TZ2YLvcpzzjM26VkBMj3s95yqMVjFMTv"
+
"rQu5NbBmiAr2zjnqYXd40W91BjJhC/RyWLR1Nvpf/gefojzhjLO6S1PQUAJ6hQzgzJejnG8OaiDLnCfrxBm9uk9wPHdyUd"
+
"KCwws1k2uy1aHmQKBgQDTz22XCSjrQi0NxzIMYL2sL9hAdOKKbbSxZLAu80w60ECG2F/xELgHS6Qv9qmU40CbJXZY+rEZm"
+
"bzxTcaeuFDS/x8umUObXv2SJQkYfu9XotE+2RQWaeKNpQd56ZQsusthZ1VVZxCn8qZ5QcHDzNnFIQe3W6+Ci3sb1qeOuC8"
+
"SmQKBgCeS0DQDuQ7CDtg2dr75JLoS8LtycTqMtsJaoYXZangk7g97qLxWjg8gu2EvPvzyh8Chdy1kBlJLvqBZpZy1YJcmn"
+
"uJTL+uOdDr89fLt1FKoAXJnv2YrYYSatdScIKTj0zdMYdDIZNqZoTZ42CUmV1vzUZqpRMQCKeRz8AuNol+JAoGBAKvU2JQ"
+
"yEycgLYrC8eBGzzkUK3zHFk21CGTtSV0dddc0wVRjzxmzNYh9nfpnQlYOMohq0OMIpYoeRcEBFsQGxVMXM4XLQqSWYGIid"
+
"4mO2L6g0N4Kn5g7WFcO7czCaLoM5BfmC71X+pQ1b0ZpyTb+RiD9VdQzpmPiogIIlzBaTZ3pAoGAK9eRtXRE0no6T2hH/6l"
+
"0U0j9b9PsIQc7ufliGFDiM1cLQreeLYeRVPe2HkUeym9zaZiLRME16rvBYc0As+0OeSi2pIsm9pkqQ4xzKpx1dDqltY2o6"
+
"+axwmA5nesaYRzH2bOC47XGfWe6F0wnI/ZkpcAZ2mXawKREsQW9d/+xtF0="
//公钥加密
export
function
encrypt
(
data
)
{
const
json
=
JSON
.
stringify
(
data
)
const
encryptor
=
new
WxmpRsa
()
encryptor
.
setPublicKey
(
publicKey1
)
return
encryptor
.
encrypt
(
json
)
}
//加密
export
function
encryptData
(
data
)
{
const
encryptor
=
new
WxmpRsa
();
encryptor
.
setPublicKey
(
publicKey1
);
return
encryptor
.
encryptLong
(
data
);
}
//解密
export
function
decryptData
(
encryptedData
)
{
const
decryptor
=
new
WxmpRsa
();
decryptor
.
setPrivateKey
(
passwordPrivateKey
);
return
decryptor
.
decryptLong
(
encryptedData
);
}
\ No newline at end of file
store/jsencrypt.js
0 → 100644
View file @
09ce0d2f
import
{
JSEncrypt
}
from
'jsencrypt'
// import JSEncrypt from 'jsencrypt/bin/jsencrypt'
// key 是 加密公钥,我是登录的时候获取
const
key
=
'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu6EsPHTuCzwyZ7D0/OhW
\
n'
+
'QDQdB9tByC0vDnb7k7gmT0h77/mmJYcwvuqUdj+PXKO+V1NlJJqlf61UjcQkWD9o
\
n'
+
'K6M1MHLHlS1qWXeXGaETClNUXAhdw2IkdBouXSHxyDkXYIDINYlOd91chxEBuBac
\
n'
+
'igJI0c5p9BA62QcOKDUE2mDJL+LOd70NCYsJf3um1IAgfKDX8RH2H3aPxy/BJ8aS
\
n'
+
'Edu+M9YDWsF6VFpaBr/WPPdouuPPjfs5203PCbvp0pvco+05JNDSiurEFcL+VDMm
\
n'
+
'wFNKExmeCvn/zr+UIkRPWHwxfJq+/gw/lt+UzBO2NURhCv4pQZy19vdFLLLeMM09
\
n'
+
'ewIDAQAB'
// 加密
export
function
rsaEncrypt
(
data
)
{
const
json
=
JSON
.
stringify
(
data
)
const
encryptor
=
new
JSEncrypt
()
encryptor
.
setPublicKey
(
key
)
return
encryptor
.
encrypt
(
json
)
}
// 解密私钥
const
privateKey
=
``
// 解密
export
function
rsaDecrypt
(
msg
)
{
const
decrypt
=
new
JSEncrypt
()
decrypt
.
setPrivateKey
(
privateKey
)
const
decryptMsg
=
decrypt
.
decrypt
(
msg
)
return
decryptMsg
}
store/secret.js
0 → 100644
View file @
09ce0d2f
import
CryptoJS
from
'crypto-js'
// 默认的 KEY 与 iv 如果没有给
const
KEY
=
CryptoJS
.
enc
.
Utf8
.
parse
(
"1234567890123456"
);
const
IV
=
CryptoJS
.
enc
.
Utf8
.
parse
(
'1234567890123456'
);
/**
* AES加密 :字符串 key iv 返回base64
*/
export
function
Encrypt
(
word
,
keyStr
,
ivStr
)
{
let
key
=
KEY
;
let
iv
=
IV
;
if
(
keyStr
)
{
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyStr
);
iv
=
CryptoJS
.
enc
.
Utf8
.
parse
(
ivStr
);
}
let
srcs
=
CryptoJS
.
enc
.
Utf8
.
parse
(
word
);
var
encrypted
=
CryptoJS
.
AES
.
encrypt
(
srcs
,
key
,
{
iv
:
iv
,
mode
:
CryptoJS
.
mode
.
CBC
,
padding
:
CryptoJS
.
pad
.
ZeroPadding
});
return
CryptoJS
.
enc
.
Base64
.
stringify
(
encrypted
.
ciphertext
);
}
/**
* AES 解密 :字符串 key iv 返回base64
*
* @return {string}
*/
export
function
Decrypt
(
word
,
keyStr
,
ivStr
)
{
let
key
=
KEY
;
let
iv
=
IV
;
if
(
keyStr
)
{
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyStr
);
iv
=
CryptoJS
.
enc
.
Utf8
.
parse
(
ivStr
);
}
let
base64
=
CryptoJS
.
enc
.
Base64
.
parse
(
word
);
let
src
=
CryptoJS
.
enc
.
Base64
.
stringify
(
base64
);
let
decrypt
=
CryptoJS
.
AES
.
decrypt
(
src
,
key
,
{
iv
:
iv
,
mode
:
CryptoJS
.
mode
.
CBC
,
padding
:
CryptoJS
.
pad
.
ZeroPadding
});
let
decryptedStr
=
decrypt
.
toString
(
CryptoJS
.
enc
.
Utf8
);
return
decryptedStr
.
toString
();
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment