关于DES加密解决办法 [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs7
本版专家分:12132
版主
Blank
GitHub 绑定GitHub第三方账户获取
Blank
领英 绑定领英第三方账户获取
Blank
银牌 2019年8月 总版技术专家分月排行榜第二
Blank
红花 2019年8月 .NET技术大版内专家分月排行榜第一
DES加密解密源码,比上一个更加安全
       private const string KEY = "&youyouyouqiekenao&";         /// <summary>         /// 初始化des实例秘钥及向量         /// </summary>         /// <param name="key"></param&
关于des加密的示例
c中常用的是openssl的crypto库中的方法: openssl中的测试代码:Link static int test_des_cbc(void) { unsigned char cbc_in[40]; unsigned char cbc_out[40]; <em>DES</em>_cblock iv3; <em>DES</em>_key_schedule ks; const size_t...
关于DES加密问题
今天刚接触<em>DES</em>,有很多问题搞不懂,希望各位高手解答下:rn第一:<em>DES</em>的密钥是不是只能是8位?在VS2005中网上查了不少方法可是基本密钥都限死在8位,我的BOSS却提供了一个14位的密钥,另我很头痛,如果可以大于8位,希望热心网友贴出来,学习一下rn第二:<em>DES</em>生成的密码是不是固定的!我在VS大于8位的密码才会生成32位的密码,可是BOSS说他那边固定16位的,我又郁闷了,还是请高手解答。rn我用的是VS2005的方法!
求助,关于DES加密
公司做二次开发,要调用第三方公司的WebApi,传输数据的时候要对数据进行<em>加密</em>,涉及到<em>DES</em><em>加密</em>解密,第三方公司给出了<em>加密</em>解密的过程,但是给出的是Java的代码,本人没有学过Java。求大神帮忙写一个c#版的,不胜感激!rnrnpackage com.ucap.restful.util;rnimport java.security.Key;rnimport javax.crypto.Cipher;rnimport javax.crypto.spec.SecretKeySpec;rnrnpublic class DesUtils rnrn /** 默认密钥 */rn private static String strDefaultKey = "seeyonssokey";rnrn /** <em>加密</em>工具 */rn private Cipher encryptCipher;rnrn /** 解密工具 */rn private Cipher decryptCipher;rnrn /**rn * <em>加密</em>字符串rn * @param strIn 需<em>加密</em>的字符串rn * @return <em>加密</em>后的字符串rn * @throws Exceptionrn */rn public String encrypt(String strIn) throws Exception rn return byteArr2HexStr(encryptCipher.doFinal(strIn.getBytes()));rn rnrn /**rn * 解密字符串rn * @param strIn 需解密的字符串rn * @return 解密后的字符串rn * @throws Exceptionrn */rn public String decrypt(String strIn) throws Exception rn return new String(decryptCipher.doFinal(hexStr2ByteArr(strIn)));rn rnrn /**rn * 将 byte 数组转换为表示 16 进制值的字符串, 如: byte[]8,18 转换为: 0813 , 和 public staticrn * byte[] hexStr2ByteArr(String strIn) 互为可逆的转换过程rn * @param arrB 需要转换的 byte 数组rn * @return 转换后的字符串rn * @throws Exception 本方法不处理任何异常,所有异常全部抛出rn */rn public static String byteArr2HexStr(byte[] arrB) throws Exception rn int iLen = arrB.length;rn // 每个byte用两个字符才能表示,所以字符串的长度是数组长度的两倍rn StringBuffer sb = new StringBuffer(iLen * 2);rn for(int i = 0; i < iLen; i++) rn int intTmp = arrB[i];rn // 把负数转换为正数rn while(intTmp < 0) rn intTmp = intTmp + 256;rn rn // 小于0F的数需要在前面补0rn if(intTmp < 16) rn sb.append("0");rn rn sb.append(Integer.toString(intTmp, 16));rn rn return sb.toString();rn rnrn /**rn * 将 表 示 16 进 制 值 的 字 符 串 转 换 为 byte 数 组 , 和 public static Stringrn * byteArr2HexStr(byte[] arrB) 互为可逆的转换过程rn * @param strIn 需要转换的字符串rn * @return 转换后的 byte 数组rn * @throws Exception 本方法不处理任何异常,所有异常全部抛出rn */rn public static byte[] hexStr2ByteArr(String strIn) throws Exception rn byte[] arrB = strIn.getBytes();rn int iLen = arrB.length;rn // 两个字符表示一个字节,所以字节数组长度是字符串长度除以2rn byte[] arrOut = new byte[iLen / 2];rn for(int i = 0; i < iLen; i = i + 2) rn String strTmp = new String(arrB, i, 2);rn arrOut[i / 2] = (byte)Integer.parseInt(strTmp, 16);rn rn return arrOut;rn rnrn /**rn * 从指定字符串生成密钥,密钥所需的字节数组长度为 8 位 不足 8 位时后面补 0 , 超出 8 位只取前 8 位rn * @param arrBTmp 构成该字符串的字节数组rn * @return 生成的密钥rn * @throws java.lang.Exceptionrn */rn private static Key getKey(byte[] arrBTmp) throws Exception rn // 创建一个空的8位字节数组(默认值为0)rn byte[] arrB = new byte[8];rn // 将原始字节数组转换为8位rn for(int i = 0; i < arrBTmp.length && i < arrB.length; i++) rn arrB[i] = arrBTmp[i];rn rn // 生成密钥rn Key key = new SecretKeySpec(arrB, "<em>DES</em>");rn return key;rn rnrn public static String encrypt(String strIn, String secretkey) throws Exception rn Key key = getKey(secretkey.getBytes("utf-8"));rn Cipher cipher = Cipher.getInstance("<em>DES</em>");rn cipher.init(Cipher.ENCRYPT_MODE, key);rn return byteArr2HexStr(cipher.doFinal(strIn.getBytes("utf-8")));rn rnrn public static String decrypt(String strIn, String secretkey) throws Exception rn Key key = getKey(secretkey.getBytes("utf-8"));rn Cipher cipher = Cipher.getInstance("<em>DES</em>");rn cipher.init(Cipher.DECRYPT_MODE, key);rn byte[] param = cipher.doFinal(hexStr2ByteArr(strIn));rn return new String(param, "utf-8");rn rnrnrnrnrn2.3.2 拼接签名及数据(根据策略编码<em>加密</em>)rn private static String initData(String key, String data) rn String params = "";rnrn try rn if(!data.equals("")) rn MessageDigest md = MessageDigest.getInstance("MD5");rn md.update(data.getBytes("UTF-8"));rn byte[] digestByte = md.digest();rnrn params = DesUtils.byteArr2HexStr(digestByte) + "@@@" + DesUtils.encrypt(data, key);rn rn catch (Exception e) rn e.printStackTrace();rn rnrn return params;rn rnrn2.3.3 根据策略编码解码返回数据rn private static String initReturnData(String key, String data) rn String str = "";rnrn try rn if(!data.equals("")) rn str = DesUtils.decrypt(ResClientUtils.replaceBlank(data), key);rn rn catch (Exception e) rn str = "\"status\":false,\"msg\":\"请检查密钥是否正确!\",\"data\":\"\"";rn rnrn return str;rn rn2.3.4 使用httpclient调用接口,将strategyCode(策略编码)和initData方法返回的数据data传入接口中rnpublic static String sendGetUrl(String url, String strategyCode, String key) rn String respmsg = "";rn String data = "";rnrn if(null == url || "".equals(url)) rn return "接口地址不能为空!";rn rn if(null == strategyCode || "".equals(strategyCode)) rn return "策略编码不能为空!";rn rn if(null == key || "".equals(key)) rn return "密钥不能为空!";rn else if(key.length() != 8) rn return "密钥长度为8!";rn rnrn if(url.split("\\?").length > 1) rn data = url.split("\\?")[1];rn rn String finalData = ResClientUtils.initData(key, data);rn url = url.split("\\?")[0] + "?strategyCode=" + strategyCode + "&data=" + finalData;rn GetMethod methodGet = new GetMethod(url);rnrn HttpClient httpClient = ResClientUtils.buildHttpClient();rn // 向服务器发送HTTP Get请求rn try rn int respCode = httpClient.executeMethod(methodGet);rn if(respCode == 200) rn// respmsg = new String(methodPost.getResponseBody(), "utf-8");rn respmsg = ResClientUtils.convertStreamToString(methodGet.getResponseBodyAsStream());rn if("strategyCodeError".equals(respmsg.trim())) rn respmsg = "\"status\":false,\"msg\":\"请检查策略配置!\",\"data\":\"\"";rn else rn respmsg = ResClientUtils.initReturnData(key, respmsg);rn rn else rn respmsg = "\"status\":false,\"msg\":\"接口访问失败!\",\"data\":\"\"";rn rn catch (UnsupportedEncodingException e) rn e.printStackTrace();rn catch (HttpException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn finally rn // 关闭连接rn methodGet.releaseConnection();rn rnrn return respmsg;rn rn
关于des加密的问题。
之前找了N多的代码都是跟c#<em>加密</em>出来的不一样。刚才找到一个只有<em>加密</em>。没有解密。!晕死。rnrn#include "stdafx.h"rn#define _WIN32_WINNT 0x0400rn#include rn#include rn#include rn#include rnusing namespace std;rnrn#pragma comment( lib, "Advapi32.lib" )rnrn//rn// for <em>DES</em>rn//rnrntypedef structrnrn BLOBHEADER header;rn DWORD cbKeySize;rn BYTE rgbKeyData[8];rnKeyBlob;rnrnLPSTR ConvertGBKToUtf8( LPSTR strGBK ) rnrn int len = MultiByteToWideChar(CP_ACP, 0, (LPSTR)strGBK, -1, NULL,0);rn unsigned short * wszUtf8 = new unsigned short[len+1];rn memset( wszUtf8, 0, len * 2 + 2 );rn MultiByteToWideChar( CP_ACP, 0, (LPSTR)strGBK, -1, (LPWSTR)wszUtf8, len );rn rn len = WideCharToMultiByte( CP_UTF8, 0, (LPCWSTR)wszUtf8, -1, NULL, 0, NULL, NULL );rn char *szUtf8=new char[len + 1];rn memset( szUtf8, 0, len + 1 );rn WideCharToMultiByte ( CP_UTF8, 0, (LPCWSTR)wszUtf8, -1, szUtf8, len, NULL,NULL );rn rn return szUtf8;rnrnrnvoid Base64Encode(BYTE *src, int src_len, BYTE *dst)rnrn rn int i = 0, j = 0;rn rn char base64_map[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";rn rn for (; i < src_len - src_len % 3; i += 3) rn rn dst[j++] = base64_map[(src[i] >> 2) & 0x3F];rn rn dst[j++] = base64_map[((src[i] << 4) & 0x30) + ((src[i + 1] >> 4) & 0xF)];rn rn dst[j++] = base64_map[((src[i + 1] << 2) & 0x3C) + ((src[i + 2] >> 6) & 0x3)];rn rn dst[j++] = base64_map[src[i + 2] & 0x3F];rn rn rn rn if (src_len % 3 == 1) rn rn dst[j++] = base64_map[(src[i] >> 2) & 0x3F];rn rn dst[j++] = base64_map[(src[i] << 4) & 0x30];rn rn dst[j++] = '=';rn rn dst[j++] = '=';rn rn else if (src_len % 3 == 2) rn rn dst[j++] = base64_map[(src[i] >> 2) & 0x3F];rn rn dst[j++] = base64_map[((src[i] << 4) & 0x30) + ((src[i + 1] >> 4) & 0xF)];rn rn dst[j++] = base64_map[(src[i + 1] << 2) & 0x3C];rn rn dst[j++] = '=';rn rn rn rn dst[j] = '\0';rn rnrnrnDWORD DesEncrypt(char* szEncrypt, char* szKey, BYTE* szOut, DWORD nOutLen, char* sz_kiv)rnrn char* sz_utf8_buff = ConvertGBKToUtf8( szEncrypt );rn rn DWORD dwEncrypt = strlen(sz_utf8_buff);rn rn if( szOut == NULL || \rn nOutLen < dwEncrypt + 8 - (dwEncrypt % 8) || \rn strlen( szKey ) < 8) rn return 0;rn memcpy(szOut, sz_utf8_buff, dwEncrypt);rn rn //rn // initrn //rnrn HCRYPTPROV hProv = NULL;rn HCRYPTKEY hSessionKey = NULL;rn BOOL bResult = TRUE;rnrn KeyBlob blob;rn blob.header.bType = PLAINTEXTKEYBLOB;rn blob.header.bVersion = CUR_BLOB_VERSION;rn blob.header.reserved = 0;rn blob.header.aiKeyAlg = CALG_<em>DES</em>;rn blob.cbKeySize = 8;rn memcpy(blob.rgbKeyData, szKey, 8);rnrn BYTE IV[9] = 0;rnrn memcpy( IV, sz_kiv, 8 );rnrn rn //rn // startrn //rnrn CryptAcquireContext(&hProv,NULL, MS_DEF_PROV, PROV_RSA_FULL,0); rn CryptImportKey(hProv, (BYTE*)&blob, sizeof(blob), 0, 0, &hSessionKey);rn CryptSetKeyParam(hSessionKey, KP_IV, (BYTE*)IV, 0);rn rn //rn // Dorn //rn ////解密rn //CryptDecrypt(hSessionKey,NULL,TRUE,0,(BYTE*)szOut,&dwEncrypt);rn ////<em>加密</em>rn CryptEncrypt(hSessionKey, NULL, TRUE, 0, (BYTE*)szOut, &dwEncrypt, nOutLen);rn //rn // Cleanrn //rnrn CryptDestroyKey(hSessionKey);rn CryptReleaseContext(hProv, 0);rn delete sz_utf8_buff;rnrn return dwEncrypt;rnrnrnchar* Encrypt( char* sz_encrypt, char* sz_key, char* sz_kiv )rnrn BYTE szOut[1024] = 0;rn rn //rn // do Des cryptrn //rn rn DWORD dwRet = DesEncrypt( sz_encrypt, sz_key, szOut, 1024,sz_kiv );rnrn //rn // do base64rn //rnrnrnrn int nLen = strlen( (char*)szOut );rn int nLenOut = nLen * 4 / 3;rn BYTE* szBase64 = new BYTE[nLenOut+1];rnrn memset( szBase64, 0, nLenOut + 1 );rnrn Base64Encode( szOut, nLen, szBase64 );rnrn rn return (char*)szBase64;rnrnrn//int main(int argc, char* argv[])rn//rn// rn// char* szResoult = Encrypt( "asd", "VavicApp","VavicApp" );rn// printf( "%s\n", szResoult);rn//rn// return 0;rn//
【iOS】关于DES加密
前天后台给了个C#的<em>DES</em><em>加密</em>算法需要我研究,并运用到新的项目中去,虽然网上有很多,但质量也参差不齐,并没有完全符合自己的需求的。现将这几天的研究成果附上: -(NSString *)encrypt:(NSString *)sText encryptOrDecrypt:(CCOperation)encryptOperation key:(NSString *)key andIv:(NSStrin
关于DES加密的问题
<em>DES</em>有以下四种工作方式:rn<em>DES</em>的几种工作方式rn 第一种电子密本方式(ECB)rn 将明文分成n个64比特分组,如果明文长度不是64比特的倍数,则在明文末尾填充适当数目的规定符号。对明文组用给定的密钥分别进行<em>加密</em>,行密文C=(C0,C1,……,Cn-1)其中Ci=<em>DES</em>(K,xi),i=0,1,…..,n-1。rn 第二种密文分组链接方式(CBC)rn 在CBC方式下,每个明文组xi在<em>加密</em>前与先一组密文按位模二加后,再送到<em>DES</em><em>加密</em>,CBC方式克服了ECB方式报内组重的缺点,但由于明文组<em>加密</em>前与一组密文有关,因此前一组密文的错误会传播到下一组。rn 第三种密文反馈方式(CFB),可用于序列密码rn 明文X=(x0,x1,……,xn-1),其中xi由t个比特组成0 rn 第四种输出反馈方式(OFB),可用于序列密码rn 与CFB唯一不同的是OFB是直接取<em>DES</em>输出的t个比特,而不是取密文的t个比特,其余都与CFB相同。但它取的是<em>DES</em>的输出,所以它克服了CFB的密文错误传播的缺点 rnrnrnrn请问是不是每一种工作方式得出的结果是不一样的?哪里有、CBC工作方式的VB模块或者VC的dll?
DES加密 DES解密
des算法 <em>DES</em> <em>DES</em><em>加密</em> <em>DES</em>解密des算法 <em>DES</em> <em>DES</em><em>加密</em> <em>DES</em>解密des算法 <em>DES</em> <em>DES</em><em>加密</em> <em>DES</em>解密
关于DES加密,什么是DES?
不好意思,我最近才关心这方面的东东,不知道怎么用,哪位兄弟有好的关于这方面的文档能不能发一个来看看!!!rn谢了!油箱是:rntangcb@163.com
Android 加密DES加密
1.简介 des对称<em>加密</em>,是一种比较传统的<em>加密</em>方式,其<em>加密</em>运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码),是一种对称<em>加密</em>算法。 <em>DES</em>全称Data Encryption Standard,是一种使用密匙<em>加密</em>的块算法。现在认为是一种不安全的<em>加密</em>算法,因为现在已经有用穷举法攻破<em>DES</em>密码的报道了。尽管如此,该<em>加密</em>算法还是运用...
DES 加密,RSA 加密DES 文件加密
<em>DES</em> <em>加密</em>,RSA <em>加密</em>,<em>DES</em> 文件<em>加密</em>,提供了方便文件<em>加密</em>接口
DES加密
package com.zit; import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; im...
DSC加密算法
import java.security.Key; import java.security.Security; import javax.crypto.Cipher; public class <em>DES</em> { /** * @param args */ private static String strDefaultKey = &quot;national&quot;; ...
des 加密
实现des<em>加密</em>过程 用des<em>加密</em>的方法
DES加密!!!!!
public class <em>DES</em> rnrn /**rn * @param argsrn */rn public static void main(String[] args) rn rn byte[] bb = enc();rn dec(bb);rn rn private static byte[] enc()rn rn rn byte[] c = null;rn tryrn byte[] m = null;rn KeyGenerator kg = KeyGenerator.getInstance("<em>DES</em>");rn SecretKey sk = kg.generateKey();rn m = "Hello Des World".getBytes();rn rn Cipher ch = Cipher.getInstance("<em>DES</em>");rn ch.init(Cipher.ENCRYPT_MODE, sk);rn rn c = ch.doFinal(m);rn System.out.println("after uncodeing:" + new String(c));rn rn catch(Exception e)rn System.out.println(e);rn rn return c;rn rn rn private static void dec(byte[] c)rn rn tryrn KeyGenerator kg = KeyGenerator.getInstance("<em>DES</em>");rn SecretKey sk = kg.generateKey();rn Cipher ch = Cipher.getInstance("<em>DES</em>");rnrn ch.init(Cipher.DECRYPT_MODE, sk);rn System.out.println("bb");rn byte[] m2 = ch.doFinal(c);rn System.out.println("ccc");rn System.out.println("after uncodeing:" + new String(m2));rn rn catch(Exception e)rn System.out.println(e);rn rn rn rnrnrnrn================rnjavax.crypto.BadPaddingException: Given final block not properly paddedrnrn为什么阿?rn
des加密
求这个方法的解密方法。!! 我要的是一个支持向量的des方法。 跟c#要<em>加密</em>出来的一致。、。 这个方法<em>加密</em>出来是一直的、。 却没有解密的方法!!!rnrn#include "stdafx.h"rn#define _WIN32_WINNT 0x0400rn#include rn#include rn#include rn#include rnusing namespace std;rnrn#pragma comment( lib, "Advapi32.lib" )rnrn//rn// for <em>DES</em>rn//rnrntypedef structrnrn BLOBHEADER header;rn DWORD cbKeySize;rn BYTE rgbKeyData[8];rnKeyBlob;rnrnLPSTR ConvertGBKToUtf8( LPSTR strGBK ) rnrn int len = MultiByteToWideChar(CP_ACP, 0, (LPSTR)strGBK, -1, NULL,0);rn unsigned short * wszUtf8 = new unsigned short[len+1];rn memset( wszUtf8, 0, len * 2 + 2 );rn MultiByteToWideChar( CP_ACP, 0, (LPSTR)strGBK, -1, (LPWSTR)wszUtf8, len );rn rn len = WideCharToMultiByte( CP_UTF8, 0, (LPCWSTR)wszUtf8, -1, NULL, 0, NULL, NULL );rn char *szUtf8=new char[len + 1];rn memset( szUtf8, 0, len + 1 );rn WideCharToMultiByte ( CP_UTF8, 0, (LPCWSTR)wszUtf8, -1, szUtf8, len, NULL,NULL );rn rn return szUtf8;rnrnrnvoid Base64Encode(BYTE *src, int src_len, BYTE *dst)rnrn rn int i = 0, j = 0;rn rn char base64_map[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";rn rn for (; i < src_len - src_len % 3; i += 3) rn rn dst[j++] = base64_map[(src[i] >> 2) & 0x3F];rn rn dst[j++] = base64_map[((src[i] << 4) & 0x30) + ((src[i + 1] >> 4) & 0xF)];rn rn dst[j++] = base64_map[((src[i + 1] << 2) & 0x3C) + ((src[i + 2] >> 6) & 0x3)];rn rn dst[j++] = base64_map[src[i + 2] & 0x3F];rn rn rn rn if (src_len % 3 == 1) rn rn dst[j++] = base64_map[(src[i] >> 2) & 0x3F];rn rn dst[j++] = base64_map[(src[i] << 4) & 0x30];rn rn dst[j++] = '=';rn rn dst[j++] = '=';rn rn else if (src_len % 3 == 2) rn rn dst[j++] = base64_map[(src[i] >> 2) & 0x3F];rn rn dst[j++] = base64_map[((src[i] << 4) & 0x30) + ((src[i + 1] >> 4) & 0xF)];rn rn dst[j++] = base64_map[(src[i + 1] << 2) & 0x3C];rn rn dst[j++] = '=';rn rn rn rn dst[j] = '\0';rn rnrnrnDWORD DesEncrypt(char* szEncrypt, char* szKey, BYTE* szOut, DWORD nOutLen, char* sz_kiv)rnrn char* sz_utf8_buff = ConvertGBKToUtf8( szEncrypt );rn rn DWORD dwEncrypt = strlen(sz_utf8_buff);rn rn if( szOut == NULL || \rn nOutLen < dwEncrypt + 8 - (dwEncrypt % 8) || \rn strlen( szKey ) < 8) rn return 0;rn memcpy(szOut, sz_utf8_buff, dwEncrypt);rn rn //rn // initrn //rnrn HCRYPTPROV hProv = NULL;rn HCRYPTKEY hSessionKey = NULL;rn BOOL bResult = TRUE;rnrn KeyBlob blob;rn blob.header.bType = PLAINTEXTKEYBLOB;rn blob.header.bVersion = CUR_BLOB_VERSION;rn blob.header.reserved = 0;rn blob.header.aiKeyAlg = CALG_<em>DES</em>;rn blob.cbKeySize = 8;rn memcpy(blob.rgbKeyData, szKey, 8);rnrn BYTE IV[9] = 0;rnrn memcpy( IV, sz_kiv, 8 );rnrn rn //rn // startrn //rnrn CryptAcquireContext(&hProv,NULL, MS_DEF_PROV, PROV_RSA_FULL,0); rn CryptImportKey(hProv, (BYTE*)&blob, sizeof(blob), 0, 0, &hSessionKey);rn CryptSetKeyParam(hSessionKey, KP_IV, (BYTE*)IV, 0);rn rn //rn // Dorn //rn ////解密rn //CryptDecrypt(hSessionKey,NULL,TRUE,0,(BYTE*)szOut,&dwEncrypt);rn ////<em>加密</em>rn CryptEncrypt(hSessionKey, NULL, TRUE, 0, (BYTE*)szOut, &dwEncrypt, nOutLen);rn //rn // Cleanrn //rnrn CryptDestroyKey(hSessionKey);rn CryptReleaseContext(hProv, 0);rn delete sz_utf8_buff;rnrn return dwEncrypt;rnrnrnchar* Encrypt( char* sz_encrypt, char* sz_key, char* sz_kiv )rnrn BYTE szOut[1024] = 0;rn rn //rn // do Des cryptrn //rn rn DWORD dwRet = DesEncrypt( sz_encrypt, sz_key, szOut, 1024,sz_kiv );rnrn //rn // do base64rn //rnrnrnrn int nLen = strlen( (char*)szOut );rn int nLenOut = nLen * 4 / 3;rn BYTE* szBase64 = new BYTE[nLenOut+1];rnrn memset( szBase64, 0, nLenOut + 1 );rnrn Base64Encode( szOut, nLen, szBase64 );rnrn rn return (char*)szBase64;rnrnrn//int main(int argc, char* argv[])rn//rn// rn// char* szResoult = Encrypt( "asd", "VavicApp","VavicApp" );rn// printf( "%s\n", szResoult);rn//rn// return 0;rn//rnrn
des加密
用来<em>加密</em>和解密字符串
DES 加密
package com.ningpai.des; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.<em>DES</em>KeySpec; import java.security.SecureRando...
DES加密与解密DES加密与解密
<em>DES</em><em>加密</em>与解密方法<em>DES</em><em>加密</em>与解密方法<em>DES</em><em>加密</em>与解密方法
C# 对称加解密
///         /// <em>DES</em><em>加密</em>调用         ///         /// 需要<em>加密</em>的字符串         /// <em>加密</em>结果         public static string <em>DES</em>Encrypt(string inputStr)         {             return Encrypt(inputStr,"Futpower");
Simple DES加密,简单的DES加密的Matlab实现
来自信息安全的作业,包含两个文件,读者需要自己创建.只进行了两轮des<em>加密</em>,输入为字符 输出为8位的数字 密文是“ABCD” 输出结果: 代码 % 实现3-des 算法 % 2019-5-15 % clear all; text='ABCD'; % ascii码65 66 67 68 P10=[3 5 2 7 4 10 1 9 8 6]; P8=[6 3 7 4 8 5 10 ...
Des加密
des<em>加密</em>比较常见,使用频率比较高,记录两种des<em>加密</em>方式:ECB和CBCimport javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.Key;   /**      * <em>加密</em>数据      * @...
des 加密
<em>加密</em>内容: guoyaokonggurn<em>加密</em>后的密文是 : 837FFC37E620BDE149362B9872643ECCrn约定<em>加密</em>key:sinokey0rnrnrn想得到如上的<em>加密</em>文,需要指定IV和运算模式吗 请高手指教
DELPPHI关于DES加密的案例
这是本人做的一个项目中的一个小工具,其中包括<em>DES</em><em>加密</em>的算法,供大家参考
关于DES算法加密的问题
我是一个大3的信息安全学生~rn最近自己在研究做一个<em>DES</em>算法的<em>加密</em>器rn现在困在了做一个文件流的问题上rn不知道怎么用<em>DES</em>算法对一个文件<em>加密</em>rn想实现用<em>DES</em>算法对文件的<em>加密</em> <em>加密</em>后原明文文件被删除~rn在原明文文件的位置生成一个密文文件`rn现在不知道如何实现文件的<em>加密</em>
关于DES 和TEDS 加密问题
最近手上的事情 弄得好心烦。rn关于<em>DES</em>和T<em>DES</em><em>加密</em>我希望大虾们指点下,确认下。rnrn<em>DES</em><em>加密</em> 密钥 长度一定是 64bit (8byte)? rnT<em>DES</em><em>加密</em> 密钥 长度是不是一定是 128bit (16Byte)?rnrn64bit的 密钥只能做<em>DES</em>?rn128bit的 密钥只能做T<em>DES</em>(如果没有截取的话)?
关于Des加密文件的算法
网上都是<em>加密</em>字符串的des算法,对于二进制的文件因为有0字符,所以不能正常,谁有源代码吗rn
请教关于DES加密的问题
由于<em>DES</em>是按分组来<em>加密</em>的,所以<em>加密</em>后的数据总是8的整倍数,不知道这样理解是否正确?rn如果是这样的话,假使在网络传输中采用<em>DES</em><em>加密</em>(传输的数据都是二进制流),如果发送5个rn字节长度的数据,<em>DES</em><em>加密</em>后的数据就是8个字节,当在接收端收到这个8个字节后,用<em>DES</em>解密rn出来的数据也是8个字节,但怎么才能知道真正的原始数据是5个字节呢?
关于DES加密/解密(VB)
我在网上找到<em>DES</em><em>加密</em>解密的函数,rn可把参数传进后,<em>加密</em>解密得到的数据都是空值。rn不知道哪位同行有成功加/解密的例子啊?rn我的邮箱:wy612@126.comrnrn谢谢各位了!
关于des文件的加密,解密。
做断网情况下的设备激活,选择了将数据放在机器分区下面,但是文件比较隐私,不能让别人看到内容,于是用了<em>加密</em>文件,然后在进行系统打包。结果选择了des<em>加密</em>方式,<em>加密</em>后的文件也可以解密,不过后来检查出问题,当<em>加密</em>后,把文件发给我的另一个设备发现不能进行解密,原因是key不一致,原来每次的key都不一样,后来只能指定key值了。这样问题解决了 public class Locker {
关于des加密和解密问题
各位高手我现在用DELPHI写的des<em>加密</em>和解密.在delphi里进行自<em>加密</em>和解密完全正确.为什么用DELPHI来解c#加过的密不对啊?rn请各位指教!
关于DES加密解的问题
public static void <em>DES</em>(byte[] Key,byte[] sourcedata,out byte[] outdata)rnrn outdata =new byte[8];rn for (int i = 0 ; i < 8 ; i ++)rn outdata[i] = sourcedata[i];rnrn byte[] IV = new byte [8];rn for (int i = 0 ; i < 8 ; i ++)rn IV[i] = (byte)0;rnrn System.Security.Cryptography.<em>DES</em> DoDes = new <em>DES</em>CryptoServiceProvider();rn rn System.IO.MemoryStream msSource = new MemoryStream (outdata,true);rn rn CryptoStream ToStr = new CryptoStream (msSource,DoDes.CreateEncryptor(Key,IV),CryptoStreamMode.Write);rn ToStr.Write(outdata,0,8);rnrn可以<em>加密</em>成功.但是我把CreateEncryptor改成CreateDecryptor却不能解密了.高手指教啊.
求教关于DES加密的使用方法
最好附个实例(因为我笨)rn昨天灌了会儿水rn今天才能送49分rn再守两周会好些吧
关于“DES加密的紧急求救
在Java 1.4 中的3<em>DES</em> <em>加密</em>算法 "<em>DES</em>ede" 的密钥长度是24个字节,而在一般的POS及相关的应用中按照人民银行认可的3 <em>DES</em> 算法的密钥长度是16个字节的。rn 是不是在 Java 1.4 中包含的JCE 1.2 中的 <em>DES</em>ede 算法可以设置密钥长度,还是人民银行认可的3<em>DES</em>算法和Java 1.4 中的<em>DES</em>ede 算法不一样。rn 如果是不一样的,那里可以下载到人民银行认可的3 <em>DES</em> 算法(16个字节)的JAVA实现的源代码。rn 如果是一样的, 则请问如何设置 Java 1.4 中包含的JCE 1.2 中的 <em>DES</em>ede 算法的密钥长度。 rn rn 万分感谢rn
特求助关于DES加密
我看别人在进行数据<em>加密</em>时都是有引用一个Encrypt.dll的<em>DES</em><em>加密</em>类库,rnrn为什么要把<em>加密</em>写出类库呢,我想把他放在EXE里面。不知道可以不??
一个关于DES加密的问题
我弄这个头都大了,原本以为很容易,就是把<em>加密</em>和解密的代码考下来执行一下就行了,但是现在发现了一个很奇怪的问题就是我有两个程序分别都用<em>DES</em><em>加密</em>的办法<em>加密</em>同一个字符串,<em>加密</em>部分的代码一模一样,但是程序A每次<em>加密</em>完的<em>加密</em>字符串都不一样,但是自己能解密出来,程序B每次<em>加密</em>完的<em>加密</em>字符串都是一样的,也能自己解密,而且这两个程序<em>加密</em>同一个字符串居然<em>加密</em>完的字符串都不一样,尤其是第一个还可以变,让我很奇怪,是怎么一回事啊。主要是我需要的功能是希望A程序<em>加密</em>完字符串以后存起来,B读取A<em>加密</em>好的字符串然后解密出来,可是现在完全实现不了,解密出来都是乱码
关于调用DES加密的DLL
在下面前在搞个发送端,发送前数据需要经<em>DES</em><em>加密</em>,但是我在网上找的<em>DES</em><em>加密</em>的算法跟服务端那边有出入,导致服务端无法解密,最后得用服务端用的DLL来<em>加密</em>,服务端那边只给我一段他们自己调用的例子给我参考,不知道是用什么语言写的,而且里的参数怎么定义,怎么在函数里面怎么传小弟确屡试不得,还请过路英雄拔刀相助rn调用例子如下:rn rnrn#include rn#include rnrnrnstruct mac_keyrnrn unsigned char key[8];/*密钥*/rn;rnrnstruct transmingrnrn unsigned char ming[10000];/*明文*/rn;rnrnstruct transmirnrn unsigned char mi[10000];/*密文*/rn;rnrnrntypedef int (WINAPI *endecrypt_fun)(struct mac_key *pkey,struct transming *pin,int *len,struct transmi *pout);rnrnvoid main()rnrn struct mac_key mkey;/*密钥*/rn strcpy((char *)mkey.key,"00000000");rnrn struct transming ming;/*明文*/rn strcpy((char *)ming.ming,"abcdefghijklmnopqrstuvwxyz");rnrn int len = strlen((char *)ming.ming);rn int ret;rnrn struct transmi mi;/*密文*/rnrn HINSTANCE hDll;rn endecrypt_fun pendecrypt;rn rn hDll = LoadLibrary("trans.dll");rnrn pendecrypt = (endecrypt_fun)GetProcAddress(hDll,"trans_endecrypt");rn ret = pendecrypt(&mkey,&ming,&len,&mi);rn rn FreeLibrary(hDll);rnrnrn请各位英雄帮我翻译成用DELPHI写的格式rn感激不尽!
DES密码算法 DES DES 加密
<em>DES</em>密码算法 <em>DES</em>密码算法 <em>DES</em>密码算法
aes加密与des加密(包括三重des加密与cbc工作模式)
aes<em>加密</em>与des<em>加密</em>(包括三重des<em>加密</em>与cbc工作模式)
RSA加密DES加密比较
对称钥匙<em>加密</em>系统是<em>加密</em>和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。   非对称密钥<em>加密</em>系统采用的<em>加密</em>钥匙(公钥)和解密钥匙(私钥)是不同的。     对称<em>加密</em>算法用来对敏感数据等信息进行<em>加密</em>,常用的算法包括: <em>DES</em>(Data Encryption Standard):数据<em>加密</em>标准,速度较快,适用于<em>加密</em>大量数据的场合。 3<em>DES</em>(Triple <em>DES</em>...
Openssl加密 DES加密 ECB
openssl des ecb 详细说明
简单加密--DES算法加密
背景: 日前,由于公司一个小项目需要<em>加密</em>,于是便学习(搜索)了部分<em>加密</em>相关的知识,了解了一些常用<em>加密</em>算法,包括常用的RSA算法,和<em>DES</em>算法,突然发觉,过去几十年年的学还是没有白上的,学了那么久的质数和分解,原来在<em>加密</em>领域是这样强大. 干货: 1:不扯没用的,分享一个直接能用的<em>加密</em>算法,就一个CPP文件,解决你的刚需,这个代码主要是实现了算法的<em>加密</em>和解密功能,对于一个文件进行<em>加密</em>,而后再进...
分组密码加密DES和3DES加密
包含密码学中分组密码<em>加密</em>的<em>DES</em><em>加密</em>和3<em>DES</em><em>加密</em>算法源代码以及编译完成的可执行文件,代码包含详细注释。
加密问题:怎样用DES加密
现在需要对文字或文件进行<em>DES</em><em>加密</em>,可是这方面的资料比较少,所以不得要领。请高手指点:rn1、需要独立的<em>加密</em>单元,最好不要用控件!rn2、如用Cipher控件,请帮忙介绍控件用法。它自带的例子看不懂。最好有一个简单的例程,让S1S2,由明文变成密文。rnrn本题因规则所限,只能给100分,如能解决问题,可以另外给分(分数有的是)。rnrn目前本人有 CRYPTOV1.ZIP和Cipher.ZIP 两个控件,但CRYPTOV1无法编译,Cipher比较复杂,无法应用。rnrn我已参考论坛中以下贴子:rn十万火急!!!哪儿我可以得到Des<em>加密</em>算法的Pascal源码?立即给分!(sinoman)rnhttp://www.csdn.net/Expert/TopicView1.asp?id=845770rnrn求能在Delphi6下编译的RSA或<em>DES</em><em>加密</em>算法源程序(dreamgoal)rnhttp://www.csdn.net/Expert/TopicView1.asp?id=585308rnrn请问DELPHI中如何实现<em>DES</em><em>加密</em>算法?rnhttp://www.csdn.net/Expert/TopicView1.asp?id=557005rn rn急需要问……在DELPHI中如何实现<em>DES</em><em>加密</em>算法?(hoeung)rnhttp://www.csdn.net/Expert/TopicView1.asp?id=557000rnrn关于des<em>加密</em>的ecb、cbc模式的问题????(bjseesea)rnhttp://www.csdn.net/Expert/TopicView1.asp?id=546453rnrn请问各位兄弟、姐妹们,谁有或谁见过哪个网上有des<em>加密</em>控件,本人急用啊!!!rnhttp://www.csdn.net/Expert/TopicView1.asp?id=544396rnrn那为能发给我一份des<em>加密</em>控件thank you(josephlong)rnhttp://www.csdn.net/Expert/TopicView1.asp?id=512472rn
DES加密、MD5加密比较
想将字符串rnData Source=192.168.1.15;Initial Catalog=AYLData;User ID=sa;Password=water345 rn<em>加密</em>成 rnghFwNo9yfC4rLwtfiSth9+lIjUTXx8B78F7ehIKo1ohPdssjjLJnF0MWP0CH/qVpSvIdbDYkzxBuh9UwTeZjBmF4fqmjb0g8AmViKoXwBJRgPdPyN8FfN8CIdq1Z/SGospdja+8uG00Ml30b1X0S8GeW9+/cqt5XigSGj2nME7uaFj6iMDcUfIrzcCp59KKueSQfLug5iElxnF9hTs2QCg== rnrn用了vs2005自带的MD5<em>加密</em>,出来结果和上面不一样,上司非要加成上面的结果,rnthis.TextBox1.Text = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5").ToString();rn结果为rnD897DC21AA0CCFC623A2B8DC6BDE4A2E rnrn有哪位能用<em>DES</em><em>加密</em>,帮帮忙呀,???????????????????????????????????????????????????????????rnrnrn我在网上找到一个,生成解决方案时正常,运行网页时就报错,rn指定键的大小对于此算法无效。 rnCryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(FKEY, FIV), CryptoStreamMode.Write); rnrn整个代码如下 rnusing System; rnusing System.Collections.Generic; rnusing System.Text; rnusing System.Security.Cryptography; rnusing System.IO; rnnamespace C<em>DES</em> rn rn public class C<em>DES</em> rn rn static byte[] FIV; rn static byte[] FKEY; rn public C<em>DES</em>() rn rn // TODO: 在此处添加构造函数逻辑 rn this.DefaultInit(); rn rnrn /// rn /// 默认键值和初始向量 rn /// rn private void DefaultInit() rn rn byte[] IV = 155, 103, 246, 8, 36, 99, 234, 36 ; rn byte[] key = 142, 16, 93, 156, 78, 4, 218, 132 ; rn FIV = IV; rn FKEY = key; rnrn rnrn /// rn /// 采用标准 64位 <em>DES</em> 算法<em>加密</em> rn /// rn /// 要<em>加密</em>的字符串 rn /// 返回<em>加密</em>后的字符串 rn public static string Encrypt(string strText) rn rn <em>DES</em>CryptoServiceProvider des = new <em>DES</em>CryptoServiceProvider(); rn MemoryStream ms = new MemoryStream(); rn CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(FKEY, FIV), CryptoStreamMode.Write); rn StreamWriter sw = new StreamWriter(cs); rn sw.Write(strText); rn sw.Flush(); rn cs.FlushFinalBlock(); rn ms.Flush(); rn return Convert.ToBase64String(ms.GetBuffer(), 0, Convert.ToInt32(ms.Length)); rn rnrnrn /// rn /// 标准64位<em>DES</em>解密 rn /// rn /// 要解密的字符串 rn /// 返回解密后的字符串 rn public static string Decrypt(string strText) rn rn <em>DES</em>CryptoServiceProvider des = new <em>DES</em>CryptoServiceProvider(); rn byte[] inputByteArray = Convert.FromBase64String(strText); rn MemoryStream ms = new MemoryStream(inputByteArray); rn CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(FKEY, FIV), CryptoStreamMode.Read); rn StreamReader sr = new StreamReader(cs); rn return sr.ReadToEnd(); rn rnrn rnrn rnrnrn在新建的网页页面中调用 rnprotected void Page_Load(object sender, EventArgs e) rn rnstring password="Data Source=192.168.1.15;Initial Catalog=AYLData;User ID=sa;Password=water345 "; rnResponse.Write(C<em>DES</em>.C<em>DES</em>.Encrypt(password)); rn rnrnrnrnrnrn
加密计算器des加密计算器
<em>DES</em><em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器<em>加密</em>计算器
DES加密 小规模加密 作业
正确的<em>DES</em><em>加密</em>流程框架图(学生作业。明文到密文,密文到明文。)
MD5加密DES加密,自定义加密
MD5<em>加密</em>,<em>DES</em><em>加密</em>,自定义<em>加密</em> 搜索数据库信息自动更新登录头像
php加密DES加密,可逆加密
这段时间用了一下<em>DES</em><em>加密</em>。相对md5<em>加密</em>。<em>DES</em>可解密。我感觉还是很多可取之处。下面贴上我的代码。希望对需要的朋友有帮助。 ); } // <em>加密</em> public static function enc
关于加密!求解决办法,急
我有一个asp的网站,已经将脚本用Script Ecode编译过,只对代码作了保护,但是,还是不能保证不被别人随便复制、转让,请问一般在asp程序中都是怎么做的??
简单DES加密算法实现
<em>DES</em> c 实现 源代码 及 可执行文件 华工的作业 ,华工的学生 勿下哦
DES加密教学工具软件
<em>DES</em><em>加密</em>教学工具,可以实现<em>加密</em>、解密和3<em>DES</em>算法的实现;可以<em>加密</em>文本,也可以<em>加密</em>文件。
DES加密程序
个人用写c++的标准des加解密程序,支持随机生成与文件读取明文、密文、密钥 十分简单易操作,代码可读性强,有readme说明文档
DES加密代码 java
匹配博客:https://blog.csdn.net/qq_41739364/article/details/86775886
des加密算法解析
des<em>加密</em> 解密原理以及r4的<em>加密</em>解密原理 可以直接调用 封装在一个接口里面的、
des加密原理
数据<em>加密</em>标准<em>DES</em>(Data Encryption Standard)算法是一个分组<em>加密</em>算法,也是一个对称算法,<em>加密</em>和解密使用同一个算法,利用传统的换位、异或、置换等<em>加密</em>方法。<em>DES</em>算法以64位(8 byte)为分组对数据<em>加密</em>,其中有8位(第8、16、24、32、40、48、56和64位)用作奇偶校验位,另外的56位为真正的密钥,保密性依赖于密钥,<em>加密</em>和解密过程使用同一个密钥。
skynet 账号密码des加密
该资源主要应用于skynet服务数据库等的账号密码<em>加密</em>使用。资源下面包含生成工具的源码,已经C#下调用c++ 动态链接库的实例。可供初级者学习使用。每个资源下都有readme 遇到困难可供参考
c++ DES加密代码
自己编写的<em>DES</em>代码,当时写作业的时候写的。
C# +des 加密文件
很不错的一个学习例子。用C# 对文件进行<em>加密</em>解密, 对称的 <em>DES</em><em>加密</em>
java DES 加密和解密
java <em>DES</em> <em>加密</em>和解密
Des加密 实例
简单的<em>DES</em><em>加密</em>解密实例,平台为VS2010,C#Winform应用程序。
DES加密局域网聊天
<em>DES</em><em>加密</em>局域网聊天
RSA和DES加密
CA<em>加密</em>与<em>DES</em><em>加密</em>结合
DES结合Base64加密
<em>DES</em>结合Base64<em>加密</em>
java DES加密
用于<em>DES</em>Util的<em>加密</em>//密码,长度要是8的倍数 注意此处为简单密码 简单应用 要求不高时可用此密码   /*<em>DES</em>是一种对称<em>加密</em>算法,所谓对称<em>加密</em>算法即:<em>加密</em>和解密使用相同密钥的算法。<em>DES</em><em>加密</em>算法出自IBM的研究, 后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为<em>DES</em>使用56位密钥,以现代计算能力, 24小时内即可被破解。*/
des加密解密及md5加密
des<em>加密</em>解密及md5<em>加密</em>.例子及应用!!!
密码学DES加密
密码学 <em>DES</em><em>加密</em> c++编写 注释详细
MD5加密DES加密解密
VS2010開發平臺,爲了密碼的安全性,需要對密碼進行<em>加密</em>處理,MD5是<em>加密</em>中常見的一種,但它屬於單項<em>加密</em>,不可解密。<em>DES</em>則屬於雙向<em>加密</em>,可解密。
DES加密工具类
package com.xxx.xxxxx.utils; import java.security.Key; import javax.crypto.Cipher; public class DesTool{     //密钥     public static final String key = "00pkgtooll102m9384y756fpkgt
(flex 4) 基本控件学习实例,开发教程(2)下载
AdobeFlashBuilder 4(flex 4) 基本控件学习实例,开发教程 FLEX3 FLEX4 AdobeFlashBuilder4 开发教程 实例 FLEX 开发学习不可缺少的工具,下载后解压运行TourDeFlex.EXE 就可以看到FLEX3,FLEX4所有的控件基本用法,是FLEX学习开发最好最方便的工具.一共三个压缩包请注意下载完整 相关下载链接:[url=//download.csdn.net/download/he_xp/2697227?utm_source=bbsseo]//download.csdn.net/download/he_xp/2697227?utm_source=bbsseo[/url]
淘宝客整站代码,还不错,已整理数十个旗舰店和皇冠店下载
免费版,功能还不错,大家试试 已整理数十个旗舰店和皇冠店 使用时自行修改淘宝客ID 后台admin-密码asas 相关下载链接:[url=//download.csdn.net/download/sdjun524/2850724?utm_source=bbsseo]//download.csdn.net/download/sdjun524/2850724?utm_source=bbsseo[/url]
飞秋安装程序下载
安装版的哦 飞秋安装程序 相关下载链接:[url=//download.csdn.net/download/jumyzhu/3770655?utm_source=bbsseo]//download.csdn.net/download/jumyzhu/3770655?utm_source=bbsseo[/url]
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview
我们是很有底线的