diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json b/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json index ee5be51a..d67b0c59 100644 --- a/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/package-lock.json @@ -12,6 +12,7 @@ "@vant/area-data": "^1.1.3", "axios": "^0.19.0", "bootstrap": "^3.4.1", + "crypto-js": "^4.1.1", "into": "^0.2.0", "js-pinyin": "^0.1.9", "less-loader": "^10.2.0", @@ -2629,6 +2630,11 @@ "node": "*" } }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "node_modules/css-loader": { "version": "3.6.0", "resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-3.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz", @@ -11307,6 +11313,11 @@ "randomfill": "^1.0.3" } }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "css-loader": { "version": "3.6.0", "resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-3.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz", diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json b/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json index 155ad5e6..e83123f4 100644 --- a/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/package.json @@ -7,6 +7,7 @@ "@vant/area-data": "^1.1.3", "axios": "^0.19.0", "bootstrap": "^3.4.1", + "crypto-js": "^4.1.1", "into": "^0.2.0", "js-pinyin": "^0.1.9", "less-loader": "^10.2.0", @@ -49,4 +50,4 @@ "keywords": [], "author": "", "license": "ISC" -} \ No newline at end of file +} diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/js/encrypt.js b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/js/encrypt.js new file mode 100644 index 00000000..122f1d99 --- /dev/null +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/assets/js/encrypt.js @@ -0,0 +1,25 @@ +const CryptoJS = require('crypto-js'); //引用AES源码js + +const key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF"); //十六位十六进制数作为密钥 +const iv = CryptoJS.enc.Utf8.parse('ABCDEF1234123412'); //十六位十六进制数作为密钥偏移量 + +//解密方法 +function Decrypt(word) { + let encryptedHexStr = CryptoJS.enc.Hex.parse(word); + let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); + let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); + let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); + return decryptedStr.toString(); +} + +//加密方法 +function Encrypt(word) { + let srcs = CryptoJS.enc.Utf8.parse(word); + let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); + return encrypted.ciphertext.toString().toUpperCase(); +} + +export default { + Decrypt , + Encrypt +} diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue index b54aba52..9672943a 100644 --- a/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/src/components/signIn.vue @@ -31,6 +31,7 @@