采用SHA256,AES加密

LinMeng 等级 1243 1 0
标签: aes前端
采用SHA256,AES加密
// import引用AES源码js
import CryptoJS from "crypto-js/crypto-js";
import md5 from 'js-md5';
console.log(process.env);
var lightKey;
if (process.env.NODE_ENV == "production") {
  lightKey = "ing88";
} else {
  lightKey = "123456";
}
console.log(lightKey);
// 真正的,经过SHA256PRNG编码的AES密钥
const darkKey = CryptoJS.enc.Hex.parse(
  CryptoJS.SHA256(CryptoJS.SHA256(lightKey))
    .toString()
    .substring(0, 32)
);
console.log(darkKey);
/**
 * 解密方法,入参:待解密的字符串
 */
export function decrypt(word) {
  // 直接针对word进行AES解密
  let decrypted = CryptoJS.AES.decrypt(word, darkKey, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  });
  // 对解码后的decrypted进行UTF-8转码
  return decrypted.toString(CryptoJS.enc.Utf8);
}
/**
 * 加密方法,入参:待加密的字符串
 */
export function encrypt(word) {
  // 先对word进行UTF-8转码至二进制
  let data = CryptoJS.enc.Utf8.parse(word);
  // 对二进制word进行AES加密
  let encrypted = CryptoJS.AES.encrypt(data, darkKey, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  });
  // 二进制encrypted进行Base64转码
  return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}
收藏
评论区

相关推荐

采用SHA256,AES加密
采用SHA256,AES加密 // import引用AES源码js import CryptoJS from "cryptojs/cryptojs"; import md5 from 'jsmd5'; console.log(process.env); var lightKey; if (process.env.NODE_ENV "pr
项目实战之---AES 加密
ajax/index.js import axiosApi from '../js/fetch'; import { baseUrl, headerParams } from '../js/baseUrl'; // import引用AES源码js import CryptoJS from 'cryptojs/cryptojs'; console.lo
若依框架“记住我”历史bug
官网已提出,最新版应该没有了,当前框架还是低版本,所以记录记住我bug解决办法 public static void main(String args)throws Exception { KeyGenerator keygen KeyGenerator.getInstance("AES"); SecretKey
AES加密解密
<html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script> <script> function getAesString(data,key,i
AES加密解密工具类
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.Sec
SS的命令行操作
看看目前的测试项目 { "server":"45.78.9.244", "server_port":444, "local_address": "127.0.0.1", "local_port":8011, "password":"YWUwMGUwZD",
java使用AES加密解密 AES
import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; /** * * @author Administrator
java类main方法执行AES算法
java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES at javax.crypto.Cipher.getInstance(Cipher.java:453)    直接在命令行执行java类,如果其中包含AES等的算法api的使用,会抛
PHP,安卓,ios相互适用的AES加密算法
http://wangsigui.blog.51cto.com/5362901/1340415 java的AES加密算法: import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKey
Eolinker SaaS 7.1 版本更新:全面强化内置函数,加入API版本管理、优化体验等
**EOLINKER SaaS产品已于近期发布 7.1 版本,以下是部分核心改进内容:** **【API研发管理】产品更新说明:** 1. 预处理内置变量变更; 2. 预处理加入大量内置函数,支持AES、DES、SHA1、SHA256等函数等; 3. 父子级选项的勾选状态加入联动关系,当取消父级勾选框时自动取消子级勾选; 4. Mock API
SS端加密以及obfs混淆
##### 目前SS端最推荐的加密以及obfs混淆如下: ###### 推荐加密方式:aes-256-gcm 、chacha20-ietf-poly1305、aes-128-gcm、aes-192-gcm ###### (排名分先后)推荐的混淆obfs:首选http、次选tls 注:加密方式推荐是因为AEAD本身有新的特性,另外主推荐aes-256-g
STM32F4系列单片机上使用CUBE配置MBEDTLS实现pem格式公钥导入
**|**版权声明:本文为博主原创文章,未经博主允许不得转载。 最近尝试在STM32F4下用MBEDTLS实现了公钥导入(我使用的是ECC加密),整个过程使用起来比较简单。 首先,STM32F4系列CUBE里已经集成了MBEDTLS, MBEDTLS是ARM公司的开源加密库,遵守APACHE协议,大家可以随便使用MBEDTLS到开源和闭源项目上。 其次
SS端加密以及obfs混淆
##### 目前SS端最推荐的加密以及obfs混淆如下: ###### 推荐加密方式:aes-256-gcm 、chacha20-ietf-poly1305、aes-128-gcm、aes-192-gcm ###### (排名分先后)推荐的混淆obfs:首选http、次选tls 注:加密方式推荐是因为AEAD本身有新的特性,另外主推荐aes-256-g
sqlcipher 移植
sqlcipher 简介 ============   SQLCipher是一个对sqlite数据库进行aes256加密的开源库,提供透明,安全的256位AES加密的SQLite数据库文件,项目本身不提供加密算法,调用openssl的aes加密算法   SQLCipher的社区版的源代码是一个BSD-风格的开源许可下发布,但是官方提供的二进制库需要购买
浅谈加密算法 aes
一、目标搞了这么多期签名和加密解密,今天我们聊聊高大上的东西: 加密算法。加密算法我们整体可以分为:不可逆加密算法和可逆加密算法。 不可逆加密算法常见的不可逆加密算法有MD5,HMAC,SHA1、SHA224、SHA256、SHA384,和SHA512。他们的特点是,不能从加密后的结果解密出原文,主要用于校检数据的一致性,防止篡改数据,我们之前分析的大部分s