zoukankan      html  css  js  c++  java
  • node启动js-3DES-ECB加密,python-3DES-ECB加密

    一.node启动js-3DES-ECB加密

    var arguments = process.argv.splice(2);
    // console.log('所传递的参数是:', arguments);
    
    var password = arguments[0];   //加密的password
    var t=  arguments[1];   //加密的txt
    var forge = require('node-forge');
    // var fs = require('fs'); 写文件
    // console.log(t);
    var n = forge.cipher.createCipher("3DES-ECB",password );
    n.start();
    n.update(forge.util.createBuffer(forge.util.encodeUtf8(t)));
    n.finish();
    var data = forge.util.encode64(n.output.getBytes()).toString();
    console.log(data);
    // fs.writeFile(name, data, function (error) {});
    

    二.python-3DES-ECB加密

    from Crypto.Cipher import DES3
    import base64
    import json
    BS = DES3.block_size
    
    
    def pad(s):
        return s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
    
    
    def unpad(s):
        return s[0:-ord(s[-1])]
    
    
    class prpcrypt():
        def __init__(self, key):
            self.key = key
            self.mode = DES3.MODE_ECB
    
        def encrypt(self, text):
            text = pad(text)
            cryptor = DES3.new(self.key, self.mode)
            x = len(text) % 8
            if x != 0:
                text = text + '' * (8 - x)
            text=text.encode("utf-8")
            self.ciphertext = cryptor.encrypt(text)
            return base64.standard_b64encode(self.ciphertext).decode("utf-8")
    
        def decrypt(self, text):
            cryptor = DES3.new(self.key, self.mode)
            de_text = base64.standard_b64decode(text)
            plain_text = cryptor.decrypt(de_text)
            st = str(plain_text.decode("utf-8")).rstrip('')
            out = unpad(st)
            return out
    
    code = json.dumps(text)  //加密的内容
    key = 'Q5yuGAZ2hHg1jhuRWjhc39oM'  //盐
    print(prpcrypt(key).encrypt(code))
    
  • 相关阅读:
    python获取公网ip,本地ip及所在国家城市等相关信息收藏
    Tkinter的下拉列表Combobox
    pyinstaller打包pyqt文件(转)
    通过pyqt5实现俄罗斯方块游戏例子
    pygame游戏开发入门例子
    python界面Tkinter编程(tkMessageBox对话框使用)
    python tkinter-菜单栏
    python tkinter-容器、子窗体
    HUNNU--湖师大--11409--Skill
    [置顶] 博客搬迁到新地址。
  • 原文地址:https://www.cnblogs.com/pythonywy/p/13220810.html
Copyright © 2011-2022 走看看