CryptoJS文件加密与解密

import React, { Component } from ‘react‘;import CryptoJS from ‘crypto-js/crypto-js‘import { Button } from ‘antd‘;

class Encryption extends Component {    constructor(){        super();        this.state={            value2:‘qqqqqqqqqqqq‘,            encryptioned:‘‘,            Decrypted:‘‘        }    }

    componentDidMount(){

    }

    ///对文件进行加密    encryption = (e,dataw)=>{        debugger        let data = this.state.value2;        let srcs = CryptoJS.enc.Utf8.parse(data);        let key = CryptoJS.enc.Utf8.parse(‘1111111111111111‘);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==        let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});        this.setState({encryptioned: encrypted.toString()});    };    ///对文件进行解密    Decrypt=(e,data)=>{        let word = this.state.encryptioned;///o7H8uIM2O5qv65l2        let key = CryptoJS.enc.Utf8.parse(‘1111111111111111‘);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==        let decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});        this.setState({Decrypted:CryptoJS.enc.Utf8.stringify(decrypt).toString()});    };

    render() {        return(            <div>                <p><input value={this.state.value2} type="text"/></p>                <Button type="primary" onClick={this.encryption.bind(this)}>请输入要加密的内容</Button>                <br/>                <h2>                    加密之后的内容:<span>{this.state.encryptioned}</span>                </h2>                <Button type="primary" onClick={this.Decrypt.bind(this)}>对加密文件进行解密</Button>                <br/>                <h2>                    解密之后的内容:<span>{this.state.Decrypted}</span>                </h2>            </div>        )    }}export default Encryption;这里的密钥是由十六位十六进制数作为密钥组成
 //十六位十六进制数作为密钥偏移量

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 }

 
 

原文地址:https://www.cnblogs.com/boonook/p/9721470.html

时间: 2024-10-23 14:21:36

CryptoJS文件加密与解密的相关文章

用openssl对文件加密及解密

Openssl是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法. 下面我将单介绍使用Openssl进行文件的对称加密操作. 一.Openssl支持的加密算法有: -aes-128-cbc -aes-128-cfb -aes-128-cfb1 -aes-128-cfb8 -aes-128-ecb -aes-128-ofb -aes-192-cbc -aes-192-cfb -aes-192-cfb1 -

java spring中对properties属性文件加密及其解密

原创整理不易,转载请注明出处:java spring中对properties属性文件加密及其解密 代码下载地址:http://www.zuidaima.com/share/1781588957400064.htm 加密类: package com.zuidaima.commons.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import

文件加密及解密

1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.IO; 5 using System.Runtime.Serialization; 6 using System.Security.Cryptography; 7 8 namespace Sky.Decrypt 9 { 10 /// <summary> 11 /// 解密 12 /// </summary>

C#使用RSA证书文件加密和解密示例

原文:C#使用RSA证书文件加密和解密示例 修改MSDN上的示例,使之可以通过RSA证书文件加密和解密,中间遇到一个小问题. Q:执行ExportParameters()方法时,回报CryptographicException:该项不适于在指定状态下使用(Key not valid for use in specified state). A:导入带有私钥的证书时,需要使用"X509KeyStorageFlags"参数标记"私钥可导出". X509Certifica

使用Vi/Vim给文件加密和解密

一. 利用vi加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了: 缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除: vi编辑器相信大家都很熟悉了吧,vi里有一个命令是给文件加密的,举个例子吧: 1) 首先在root主目录/root/下建立一个实验文件text.txt: [[email protected] ~]# vi text.txt 2) 进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车: 3) 这时系统提示

CryptoJS AES加密、解密练习demo

<!DOCTYPE html> <html> <head>     <title>aes demo</title>     <meta charset="utf-8"/>     <style>         *{margin:0;padding:0}         .demo-wrap{width: 400px;height: 50px;margin: 50px auto auto auto}  

C# 文件加密和解密

1.加密 using System;using System.Collections.Generic;using System.Text;using System.Runtime.Serialization;using System.IO;using System.Security.Cryptography; namespace Sky.Encrypt{    /// <summary>    /// 加密    /// </summary>    public class Enc

前端加密传输 crypto-js AES 加密和解密

配置: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0&q

xxtea 文件加密与解密

加密 cocos luacompile -s src -d dst_dir -e -b xxxxx -k xxxxx --disable-compile 解密 cocos luacompile -s src -d dst_dir -e -j  -b xxxxx -k xxxxx --disable-compile 说明:cocos默认只支持加密,不支持反向解密, 本人改一下python脚本 使其支持解密. -b 后面接的参数是在文件中可以见的. #!/usr/bin/python # -----