import time
import base64
import pyDes
import binascii def DESEncrypt(desKey, target):
key = desKey[0:8]
IV =desKey[::-1][0:8]
btKey =key.encode(encoding='utf8')
btIV =IV.encode(encoding='utf8')
k = pyDes.des(btKey, mode=pyDes.CBC, IV=btIV, pad=None, padmode=pyDes.PAD_PKCS5)
en = k.encrypt(target)
return en def GetEncryptBase64(userid,pwd):
str_time=time.strftime("%Y%m%d")
char_list = list(str_time)
int_list=list(map(lambda x:int(x,10),char_list))
deskey=sum(int_list)
deskey*=int(str_time,10)
deskeystr=str(deskey).zfill(8)
userinfostr=userid+":"+pwd
userinfoEncryptBytes=DESEncrypt(deskeystr,userinfostr.encode(encoding='utf8'))
userinfoEncryptBase64 = base64.b64encode(userinfoEncryptBytes).decode('ascii')
    return userinfoEncryptBase64

result=GetEncryptBase64("userid","userpwd")
print("result={}".format(result)) '''
byte[] DESEncrypt(string desKey, byte[] target)
{
if (desKey.Length < 8) throw new Exception("parameter desKey length should equal greater than 8"); var key = desKey.Substring(0, 8);
var IV = string.Join("", desKey.Reverse()).Substring(0, 8);
byte[] btKey = Encoding.UTF8.GetBytes(key);
byte[] btIV = Encoding.UTF8.GetBytes(IV);
DESCryptoServiceProvider des = new DESCryptoServiceProvider(); using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write))
{
cs.Write(target, 0, target.Length);
cs.FlushFinalBlock();
}
return ms.ToArray();
}
} public string GetEncryptBase64(string userid, string pwd)
{
Int64 deskey = DateTime.Now.ToString("yyyyMMdd").Sum(c => Convert.ToInt32(c.ToString()));
deskey *= Convert.ToInt32(DateTime.Now.ToString("yyyyMMdd"));
string deskeystr = deskey.ToString().PadLeft(8, '0'); string userinfostr = userid + ":" + pwd;
var userinfoEncryptBytes = DESEncrypt(deskeystr, Encoding.UTF8.GetBytes(userinfostr));
var userinfoEncryptBase64 = Convert.ToBase64String(userinfoEncryptBytes);
return userinfoEncryptBase64;
}
'''

python C# DES 加密转换的更多相关文章

  1. PYTHON实现DES加密及base64源码

    要求是实现DES加密,解密,我是用python实现的,还是有挺多坑的,改bug就改了挺久,加密实现后,解密过程就比较轻松. 另外,附加base64编码源码 要求:输入秘钥为64位二进制数(有效位为56 ...

  2. pyDes库 实现python的des加密

    下载及简介地址:https://twhiteman.netfirms.com/des.html 如需要在python中使用des加密,可以直接使用pyDes库加密,该库提供了CBC和ECB两种加密方式 ...

  3. python实现DES加密算法和3DES加密算法

    pyDes.py ############################################################################# # Documentati ...

  4. python进行des加密解密,而且可以与JAVA进行互相加密解密

    import binasciifrom pyDes import des, CBC, PAD_PKCS5import uuidimport time # pip install -i https:// ...

  5. Python实现基于DES加密源码的文本加密器

    这是自行制作的一个DES文本加密工具 最终效果图: 本加密器支持UTF-8字符的加解密(包含中文),由于其中的编码方式与常用编码方式不同,加密结果与网上工具不同,但是能实现正常加解密. 最终目标: 目 ...

  6. 一个java的DES加密解密类转换成C#

    一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //import java.util.regex.P ...

  7. paip.提升安全性----Des加密 java php python的实现总结

    paip.提升安全性----Des加密 java php python的实现总结 ///////////    uapi         private static String decryptBy ...

  8. python和c#通用一致的des加密采用CBC和PKCS7

    在python下可以下载pydes 下载地址为 http://pydes.sourceforge.net/ 在c#下实现des加密较为简单,如下: using System; using System ...

  9. python 和 C# DES加密

    C# code: using System; using System.IO; using System.Security.Cryptography; using System.Text; names ...

  10. Python Des加密与解密实现软件注册码、机器码

    原理 判断路径下是否存在识别文件,若存在就解密对比,若不存在就进入机器码注册: 获取系统C盘序列号作为识别ID,并添加随机数作为混淆,生成最终机器码. 将机器码发给软件开发者,开发者将机器码解密后,添 ...

随机推荐

  1. win11 改键盘映射

    编辑注册表:按下win+r,输入regedit找到这个路径HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout ...

  2. 大数据才是重点,Oracle、SQL Server成昨日黄花?

    转自:https://zhuanlan.zhihu.com/p/100761130 引子有人在某个专注SQL的公众号留言如下: 对SQL Server的鄙视这个留言触碰到一个非常敏感的问题:搞关系型数 ...

  3. Unity中的深度测试相关知识与问题

    https://www.jianshu.com/p/f420b55edd0b?utm_campaign=hugo

  4. 设置VScode中console.log快捷键

    "Print to console": { "prefix": "log", "body": [ "conso ...

  5. using Spire.Pdf 合并文件夹下.pdf 文件

    using Spire.Pdf private void mergePDF() { List<string> filesList = new List<string>(); D ...

  6. 7. C语言科学计数法表示int

    c语言10的n次方写用e表示: 比如int a=10e2 表示10*10的2次方=1000: 注意:10e6, 代表10*10^6 不代表10^6. 10^6为1^6

  7. 供配电一次测 PT柜 解释

    文章来源: PT柜_百度百科 (baidu.com)  视频介绍 很多电工不清楚的高压PT柜,老电工带你了解工作原理和作用_搜狐汽车_搜狐网 (sohu.com) 很多电工怕PT柜,今天电气成套设计实 ...

  8. 基于ALSA库实现音频采集和播放遇到的问题

    最近基于Linux系统C语言实现音频的采集和播放,建立了两个子线程,一个通过调用snd_pcm_readi来实现采集数据,并存入FIFO中,另一个从FIFO中取数据并通过udp的sendto发送出去, ...

  9. GitLab + Rainbond 打造Devops流程

    GitLab + Rainbond 打造Devops流程 流程 预设项目有两个分支,dev和master dev分支对应dev环境 master分支对应test环境和prod环境 开发在dev中编写代 ...

  10. elk安装(简)

    1.到官网下载对应的版本注意最好使用版本相同的3个软件 elasticsearch-6.8.7.rpm kibana-6.8.7-x86_64.rpm logstash-6.8.7.rpm 我这里使用 ...