rsa_public_encrypt与cipher.doFinal加密结果不一致 [问题点数:60分]

Bbs1
本版专家分:0
结帖率 33.33%
Bbs12
本版专家分:381353
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs1
本版专家分:0
Bbs12
本版专家分:381353
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Cipher
原文地址: Cipher 继承关系 java.lang.Object ↳ javax.crypto.Cipher 已知的的子类有NullCipher。 介绍  这个类提供了关于密码的加密和解密的功能。它构成了Java加密扩展(JCE)框架的核心。   为了创建一个Cipher对象,可以使用Cipher类中的getInstance(String transformation)方法来获取
AES LINUX加密结果不一致
AES对称加解密, 相同key<em>加密结果</em><em>不一致</em>,因为Linux的强随机数而导致,需要在 jvm 加如下启动参数   -Djava.security.egd=file:/dev/./urandom  如下测试类,在Linux  javac Test.java 编译 ,运行 Java Test 每次<em>加密结果</em><em>不一致</em>。 运行 java -Djava.security.egd=fil
Base64 加密结果不一致
可能是String.getBytes()方法中的中文编码问题,切换编码格式试试 getBytes("utf-8")  得到一个UTF-8格式的字节数组 getBytes("GBK")  得到一个GBK格式的字节数组
RSACryptoServiceProvider加密结果不一致
为什么我用certificate类读取数字证书,然后用RSACryptoServiceProvider加密字符串时,每次的<em>加密结果</em>都不一样啊。。。。。。。。。。。。。。。。。。。。rnrnrn代码(加密):rn......rn X509Certificate2 cert = GetCertificate();rn RSACryptoServiceProvider rsa=new RSACryptoServiceProvider ();rn rn //从证书中获取私钥作为加密密钥rn if(cert.HasPrivateKey)rn rsa = cert.PrivateKey as RSACryptoServiceProvider;rn byte[] enc = rsa.Encrypt(Encoding.Unicode.GetBytes(originMsg), false);rn return enc;rnrn........
Ios Android MD5加密结果不一致
public static String toMD5(String str) rn byte[] source = str.getBytes("ascii");rn MessageDigest md = MessageDigest.getInstance("MD5");rn md.update(source);rn StringBuffer buf = new StringBuffer();rn for (byte b : md.digest())rn buf.append(String.format("%x", b & 0xff));//%02xrn return buf.toString().toUpperCase(Locale.getDefault());rn rnrnrn+ (NSString *)md5:(NSString *)str rn const char *cStr = [str UTF8String];rn unsigned char result[16];rn CC_MD5( cStr, strlen(cStr), result );rn return [NSString stringWithFormat:rn @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",rn result[0], result[1], result[2], result[3],rn result[4], result[5], result[6], result[7],rn result[8], result[9], result[10], result[11],rn result[12], result[13], result[14], result[15]];rnrnrnAndroid的结果:FFC6F526578D32DB4FE47970FBFEF8rnios的结果 FFC6F5265708D32DB40FE47970FBFEF8rn多了两个0rn求帮助
MD5CryptoServiceProvider的MD5加密结果和百度不一致
接口对接,对方是java加密,跟C#加密,加密出来的结果<em>不一致</em>。后面那2种分别针对webform和winform的加密跟java<em>加密结果</em>是一致的。 最近和其他公司做接口,原本的MD5加密算法是这样的: byte[] bytes = Encoding.Default.GetBytes(instr_); MD5CryptoServ...
java 加解密例子
[code=&quot;java&quot;] package com.benx.test; import java.io.IOException; import java.security.Key; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.MessageDige...
Java Cipher类 DES算法(加密与解密)
import java.security.*; import javax.crypto.*; import java.io.*; //对称加密器 public class CipherMessage {     private String algorithm; // 算法,如DES     private Key key; // 根据算法对应的密钥     priv
Java加密与解密的艺术-----Cipher类
Cipher类为加密和解密提供密码功能。它构成了Java Cryptographic Extension(JCE)框架的核心。在本章的上述内容中,只完成了密钥的处理,并未完成加密与解密的操作。这些核心操作需要通过Cipher类来实现。 // 此类为加密和解密提供密码功能 public class Cipher extends Object  Cipher类是一个引擎类,它需要通过getIn
android Cipher.dofinal方法在5.0以上环境抛异常 求解(rsa加密相关用到)
如下方法 在4.x环境下的没有问题 但是在5.x的环境下 dofinal方法抛出异常 异常内容为:input too large for RSA cipher. 出问题的方法如下 注释内的数字为下方变
Android 加解密类Cipher
近日在做一个关于短信及文件加解密的小项目,查看了一些Android加解密方面的知识。关于加解密这部分以前完全没有接触过,所以网上乱翻了一天对于什么DES,AES,RSA,BASE64,MD5之类的还是懵懵懂懂,这里也就不再来说它们的原理了,实在是我自己也没弄懂。写这篇博客时也就大致了解了一下Cipher类,并实现了一个简单的AES编解码工具类,当然是用的都是些最简单的默认模式,更详细的知识还有待进
java中文md5加密结果不一致
现象:两台机器上跑的结果不一样 重点排查:编码 如工作空间编码、项目编码、具体文件编码是否一致(UTF-8)
java sha1加密 和 python sha1 加密结果不一致
java代码rnrn MessageDigest messageDigest = MessageDigest.getInstance(algorithm);rn messageDigest.update(value.getBytes());rn return bytesToHexString(messageDigest.digest());rn rnpython 代码rnrn md = hashlib.sha1()rn md.update(value.encode('utf-8'))rn md.digest()rn rn初学python 大神帮忙看看
c# des 加密结果与c 不一致的问题
今天和客户系统对接,发现校验加密失败。rn结果发现rnc#的des加密有问题,rn如果是纯数字的加密,结果和c的结果一致。rn但是 如果是含有字母的,结果就不一样了。rn求大神指点。rn例子:rn明文 8A25E9DBCD16BE80 key 3131313131313132rnc的结果 C2CAFF79152A2B92rnc#的结果 37A23B0A7434B8BC
JAVA非对称加密不同系统加密结果不一致
最近在做一个项目,需要用到非对称加密,但是出现一个很诡异的情况,本地开发环境是Windows环境,测试环境是Linux环境,出现一个问题, 那就是本地环境与开发环境同一个私钥字符串加密加密同一个信息,得到的<em>加密结果</em>不一样。 经过查询网络得知,这是由于填充的规则不同导致。 原来的加密的部分代码 byte[] keyBytes = Base64.decodeBase64(privateKey);...
mysql加密结果与在线加密结果不一样
[img=https://img-bbs.csdn.net/upload/201602/25/1456411582_240519.png][/img]rn[img=https://img-bbs.csdn.net/upload/201602/25/1456412498_248066.png][/img]
javax.crypto.Cipher
javax.crypto.Cipher类提供加密和解密功能,该类是JCE框架的核心。 一,与所有的引擎类一样,可以通过调用Cipher类中的getInstance静态工厂方法得到Cipher对象。 public static Cipher getInstance(String transformation); public static Cipher getInstance(String t
Linux下运行java DES解密失败,报javax.crypto.BadPaddingException:Given final block not properly padded
DES java源代码如下: import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecException; imp
org.apache.shiro.crypto.CryptoException: Unable to execute 'doFinal' with cipher instance
从两个红箭头 可以猜测出应该是rememberMe管理器的配置问题 ,而且异常部分也是rememberMe管理器里面配置的  配置如下:   红箭头处的值有格式要求的 官文如下:      你要么用base64生成字符串然后在decode,要么直接以0x开头的16进制窜.  网上找到另个方法是在realm配置一下属性值 如下:   为啥好用呢 作用如下说明:   Sets th
JAVA实现AES加密
 JAVA实现AES加密1. 因子       上次介绍了《JAVA实现AES加密》,中间提到近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。2. JAVA实现
C# MD5加密结果 与 vb MD5加密结果 不一样?
C# MD5<em>加密结果</em> 与 vb MD5<em>加密结果</em> 不一样。rnrn请问这是正常现象 还是我的代码有问题?rnrn[b]这是C#的 MD5 代码:[/b]rnrnprotected string UserMd5(string str1)rn rn string cl1 = str1;rn string pwd = "";rn MD5 md5 = MD5.Create();rn // 加密后是一个字节类型的数组rn byte[] s = md5.ComputeHash(Encoding.Unicode.GetBytes(cl1));rn // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得rn for (int i = 0; i < s.Length; i++)rn rn // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符rn pwd = pwd + s[i].ToString("x");rn rn return pwd;rn rnrnrn[b]这是vb 的MD5加密代码:[/b]rnrnFunction MD5(ByVal StrSource As String, ByVal Code As Int16) As Stringrn '这里用的是ascii编码密码原文,如果要用汉字做密码,可以用UnicodeEncoding,但会与ASP中的MD5函数不兼容rn Dim DataToHash As Byte() = (New System.Text.ASCIIEncoding).GetBytes(StrSource)rn Dim Hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(DataToHash)rn Dim i As Integerrn Dim Str_MD5 As String = ""rn Select Case Codern Case 16 '选择16位字符的<em>加密结果</em>rn For i = 4 To 11rn Str_MD5 += Hex(Hashvalue(i)).ToLowerrn Nextrnrn Case Else 'Code错误时或者选择32位字符加密时,返回全部字符串,即32位字符rn For i = 0 To Hashvalue.Length - 1rn Str_MD5 += Hex(Hashvalue(i)).ToLowerrn Nextrn End Selectrn MD5 = Str_MD5rn End Function
javascript中md5加密与C#中md5加密结果不一致.
原来数据库存的密码都是使用以下加密的结果rn【C#】rnpublic static byte [] EncryptString(string strString)rnrn byte [] EncryptedByte = null;rn MD5 md5 = MD5.Create();rn EncryptedByte = md5.ComputeHash(Encoding.Unicode.GetBytes(strString));rn md5.Clear();rn return EncryptedByte;rnrnrn现在由于种种需求,想在客户端用JS中的md5函数对用户密码进行加密.但是发现它们加密的结果都不一样。请教生成一致<em>加密结果</em>Js的MD5函数.rnrnrn
这是哪种加密算法的加密结果
像下面这段内容是哪种加密算法的<em>加密结果</em>?rnDQAKAFUAbAB0AHIAYQBT AHUAcgBmAA0ACgGIAbwB 4AA0ACgB1AHMAdABpAGI AZQB0AA0ACgB2AG8AYQA NAAoAdwBhAG4AZwBjAGU ADQAKAHcAcwB0AGEAaQB qAGkADQAKAHgAaQBuAHM rn(接受CSDN的建议,加入了空格,原文没有空格)
AES/CBC/PKCS7Padding, CryptoJS加密结果和Mcrypt加密结果不一样
Aes_Pad7_Cbc.phprn[code=php]iv=substr($iv,0,8).substr($iv,-8,8);rn rn $this->key=md5($key);rn rn rn /**rn * 加密rn * @param string $data 待加密的数据rn */rn public function encrypt($data) rn rn $data=$this->PKCS7Padding($data);rn $result=mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$this->key,$data,MCRYPT_MODE_CBC,$this->iv);rn //return base64_encode($result);rn $result=bin2hex($result);rn return $result;rn rn rn /**rn * 解密rn * @param string $data 待解密的数据rn */rn public function decrypt($data) rn $data=pack('H*',$data);rn //$data=base64_decode($data);rn $result=mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$this->key,$data,MCRYPT_MODE_CBC,$this->iv);rn $result=$this->UnPKCS7Padding($result);rn return $result;rn rn rn /**rn * 为字符串添加PKCS7 Paddingrn * @param string $str 源字符串 rn */rn private function PKCS7Padding($str) rn $block=mcrypt_get_block_size(MCRYPT_RIJNDAEL_128,'cbc');rn $pad=$block-(strlen($str)%$block);rn if($pad8) rn return $str;rn rn $len=strlen($str);rn for($i=$len-1;$i>=$len-$num;$i--) rn if(ord(substr($str,$i,1))!=$num) rn return $str;rn rn rn $str=substr($str,0,-$num);rn return $str;rn rnrn?>[/code]rn/************************************************************************************************************/rnmcrypt.phprn[code=php]encrypt($data);rn $deResult=$aes->decrypt($enResult);rn rn echo "明文: ".$data." ";rn echo "密文: ".$enResult." ";rn echo "解密: ".$deResult." ";rn?>[/code]rn//执行结果:rn/*rn明文: 135rn密文: e7029d5f48d8aefe7d0bad6c39f81c92rn解密: 135 rn*/rn/************************************************************************************************************/rncryptojs.phprn[code=php]rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn[/code]rn//执行结果:rn/*rn明文: 135rn密文: b0938c5ce614d0af937bca1f7436fde0rn解密: 135rn*/rn/*---------------------------------------------------------------------------------------------------------------------------------*/rn完整代码: http://yunpan.cn/cQQYpYjt2HI3a (提取码:2a4f)rn尝试了很多遍,但是js的<em>加密结果</em>和php的<em>加密结果</em>还是不一样。rn实在找不出哪的问题,请各位帮忙看看。
123456的md5加密结果是什么?
123456的加密密码是什么rnrn49ba59abbe56e057 rnrn还是rnrnf20f883ee10adc39rnrn?rnrn
java常用的加密解密方法
加密是指对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密。 一、双向加密 (一)、对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方...
对称加密算法---加密学习笔记(三)
基本介绍对称加密算法是现在应用范围最广,使用频率最高的加密算法。对称的原因: 加密密钥 = 解密密钥,加密运算是解密运算的逆运算。 对称加密算法是初等的加密算法,从安全性上说,不是很高。常用的对称加密算法: DES(3DES),AES,PBE,IDEA等。DESDES(Data Encryption Standard):数据加密标准(已经被破解) 例子:package com.timli
Java使用AES加解密
Java使用AES加解密目录1.1生成密钥1.2密钥的存储1.3获取存储的密钥1.4加解密1.5使用存储的密钥进行加解密示例 AES是一种对称的加密算法,可基于相同的密钥进行加密和解密。Java采用AES算法进行加解密的逻辑大致如下:1、生成/获取密钥2、加/解密 1.1生成密钥密钥的生成是通过KeyGenerator来生成的。通过获取一个KeyGenerator实例,然后调用其generateK
Cryption的doFinal当使用的是加密模式时,加密后的二进制的数据的长度和什么有关?
public static byte encipher(byte data, Key key, String algorithm, String mode, String padding) { try
为什么加密可以,解密却失败?
我使用AES对称加密算法加密,出现如下错误: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 w
加密结果org.apache.jetspeed.security.spi.impl.DefaultPasswordCredentialImpl
rn本人不懂javarn请有开发环境的朋友帮我验证一下这个加密方法是不是得到如下的效果rnrnclassname:rnrnorg.apache.jetspeed.security.spi.impl.DefaultPasswordCredentialImplrnrn 密码 加密后rn111111 kmWkSFa1KCzenTFF917xKiernR8=rn000000 t77Y99PgFCU7wpt2JGxuUasFsWE=rn123456 TPi+62SlEQZKQ4bwSJgFabpl8Fw=rnrn
openssl中函数RSA_public_encrypt的使用案例
openssl中函数RSA_public_encrypt的使用案例 通过这个案例 之后的公钥私钥对数据的加解密签名等 都可以类推出来了
c#md5加密与JSMD5加密结果不一样?
45dc21543bb734b838e938b6359b785rn比如“ABD755DA873067C70F8A6AC81FD6730757”JS加密后“450dc21543bb734b838e938b6359b785”,而我用C#却得到“45dc21543bb734b838e938b6359b785”少了一位数,而且大部分数相同,不知道哪里的错误,是不是编码的问题?rnrnMD5源码:rn[code=C#] rnpublic sealed class MD5Hashingrn rn private static MD5 md5 = MD5.Create();rn private MD5Hashing()rn rn rn /**/rn /// rn /// 将字符串加密rn /// rn /// 需要加密的字符串rn /// MD5加密后字符串rn public static string HashString(string sourceString)rn rn return HashString("gb2312", sourceString);rn rn /**/rn /// rn /// 字符串MD5加密rn /// rn /// 编码类型rn /// 需要加密的字符串rn /// MD5加密后字符串rn public static string HashString(string codeName, string sourceString)rn rn byte[] source = md5.ComputeHash(Encoding.GetEncoding(codeName).GetBytes(sourceString));rn StringBuilder sBuilder = new StringBuilder();rn for (int i = 0; i < source.Length; i++)rn rn sBuilder.Append(source[i].ToString("x"));rn rn return sBuilder.ToString();rn rn rnrn[/code]rnrn引用:rn[code=C#]string key=MD5Hashing.HashString("gb2312", "ABD755DA873067C70F8A6AC81FD6730757");[/code]rnrn
不一致?
我在网页上把最大文件大小改成无限制,上面显示了数据库文件已更改,在网页上看到的还有32767MBrn数据库里我用rn[code=SQL]rnSELECT 'TIVOLI',SUM(BYTES)/1024/1024 MB rnFROM DBA_DATA_FILES GROUP BY 'tivoli' order by 'tivoli';rn[/code]rn看还有35897.984375mbrnrn但是这个表空间里插数据还是报ora-01653rnrn这个我不知道为什么网页上看到的和数据库里看到的不吻合?如果不吻合我想应该以SQL语句查到的为准,如果以SQL语句显示的为准,那为什么往里插数据为什么又报ora-01653这个错误呢?还请高手指点!
求BlowFish算法的加密结果验证
明文:3132333435(十六进制ASCII编码)rn密钥:3130313231(十六进制ASCII编码)rn加密算法:BlowFish算法rn加密模式:ECB模式rnrn哪位高手能给出<em>加密结果</em>(十六进制编码形式的),我想验证一下我的算法对不对rnrnrn
微信小程序解密encryptedData报错
-
DES解密报错 javax.crypto.BadPaddingException: Given final block not properly padded
DES加密解密,解密正常,解密报错 package test; import java.io.File; import java.io.FileInputStream; import java.io.
aes解密后明文为乱码的问题
-
关于C# 的hmacSHA1加密方法的使用
简短的来说:我发送http请求要从人家那获取一些信息,在http的header里面增加一些参数,其中就有特定的的参数需要用hmacSHA1来加密。 对方提供了JAVA的SDK,但没有C#的,java的
关于doFinal()的
这是我的代码的一部分,是用来输出已解密的流的 private static byte passwordDecrypt(char password, byte ciphertext) throws Ex
JAVA转成C#MD5加密结果不一样。
[code=java] public static String Md5(String cPlainText) rn StringBuffer tBuf = new StringBuffer();rn try rn MessageDigest tMd = MessageDigest.getInstance("MD5");rn tMd.update(cPlainText.getBytes("utf-8"));rn byte[] tByte = tMd.digest();rnrn for (int j = 0; j < tByte.length; ++j) rn int i = tByte[j];rn if (i < 0) rn i += 256;rn rn if (i < 16) rn tBuf.append("0");rn rn tBuf.append(Integer.toHexString(i));rn rn catch (Exception e) rn logger.info(e);rn rn return tBuf.toString();rn [/code]rn加密:123456ewealth出来结果758f0d83967dfd58f0b9bc0176b7fa11rn[code=csharp] public static string UMd5(string txt)rn rn string pwd = "";rn MD5 md5 = MD5.Create();rn byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(pwd));rn for (int i = 0; i < s.Length; i++)rn rn pwd = pwd + s[i].ToString("x");rn rn return pwd;rn [/code]rn加密:123456ewealth出来结果d41d8cd98f0b24e980998ecf8427ernC#应该要怎么写才能一至,都晕了
C#解密(DES)Java的加密结果
工作需要,要工C#实现Java的加密解密功能。资料有1.Java代码package com.sitech.crmpd.security; /** * 两级界面集成 加解密 * meixy 2013-03-14 */ import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInput...
java 使用md5加密中文时tomcat和main方法加密结果不一致解决方案
笔者在一次对接接口时候出现一个问题:一个json串中带有中文,我想直接测试<em>加密结果</em>是否一致,结果使用本地main方法加密没问题,后面在程序里加密调用接口发现签名验证不通过,后面才发现三tomcat处理中文时的问题。   未统一编码前加密:   解决方案:         把resultString.getBytes()改为resultString.getBytes(&quot;UTF-...
sha1 加密,C#与php加密结果不一样
今天在对接别人系统的时候,发现一个很坑的问题,sha1 加密的问题 别人系统sha1 加密是php编写的,我们是C#。 同样是对字符串 123456 加密,C#的sha1加密字符串是fEqNCco3Yq9h5ZUglD3CZJT4lBs= php的加密字符是7c4a8d09ca3762af61e59520943dc26494f8941b 解决这样的问题,推荐一下: ///
C#与PHP中SHA1加密结果不同解决方法
那天在调试API的时候,发现用c#写的SHA1加密出来的结果和PHP中sha1()出来的不一样,找了半天的原因后来才弄出来在调试微信接口的时候大多的帮助文档都是提供的是PHP的方法,所以在.net中实现的时候会出现很多的问题,最典型的就是token通不过验证现在提供一个结果与Php一样 的SHA1方法public static string Sha1Sign(string data) { ...
前端jsencrypt加密,后端无法解密
-
使用shiro cookie 登录登出报Unable to execute 'doFinal' with cipher instance
大神们,为什么我老是报这个错,请问怎么修改 错误如下:org.apache.shiro.crypto.CryptoException: Unable to execute 'doFinal' with
黑马作业题,实现一个验证程序运行次数的小程序java
-
shiro使用的时候 Unable to execute 'doFinal' with cipher instance这是怎么回事
org.apache.shiro.crypto.CryptoException: Unable to execute 'doFinal' with cipher instance at org.apa
javax.crypto.Cipher类--加密和解密
javax.crypto.Cipher类提供加密和解密功能。 一、获得Cipher对象 通过调用Cipher类中的getInstance静态工厂方法得到Cipher对象。 public static CiphergetInstance(String transformation); public static CiphergetInstance(String transformation,
提供几个加密结果为数字和英文字母的加密方式
说是加密其目的就是为了编码,我想将汉字编码成纯数字和英文小写字母,象MD4那样的效果就不错,但它不可逆。rnBase64 到是可以但它里面有很多+号。rn我是想用在URL里,将搜索页面协静态,但地址里面都有中文,我想找一个好的编码方式将它转为数字和英文小写。输出结果时将其还原就行了。
C# 3DES加密与oracle 3DES加密结果比较
使用C#和oracle对同一字符串进行3DES加密为什么结果不同(key相同)?rn对"aaaaaaaa"进行加密得到的结果分别如下:rnrnC#结果为: N0p5hwmlyn+dQUWEbvwkiHl960iEfyAdrnoracle结果为: F5ACE5DCAE43F640rnrnC#程序:rn[code=C#]rnpublic static string Encrypt3DES(string a_strString, string a_strKey)rn rn tryrn rn byte[] bt = (new System.Text.UnicodeEncoding()).GetBytes(a_strString);rn PasswordDeriveBytes pdb = new PasswordDeriveBytes(a_strKey, null);rn byte[] key = pdb.GetBytes(24);rn byte[] iv = pdb.GetBytes(8);rn MemoryStream ms = new MemoryStream();rn TripleDESCryptoServiceProvider tdesc = new TripleDESCryptoServiceProvider();rn CryptoStream cs = new CryptoStream(ms, tdesc.CreateEncryptor(key, iv), CryptoStreamMode.Write);rn cs.Write(bt, 0, bt.Length);rn cs.FlushFinalBlock();rn return Convert.ToBase64String(ms.ToArray());rn rn catch (Exception ex)rn rn throw ex;rn rn rn[/code]rnrnoracle 存储过程:rn[code=SQL]rnFUNCTION Encrypt_3key_Modern (rn Ivalue IN VARCHAR2,rn Imode IN PLS_INTEGERrn ) RETURN RAW ASrn Vencrypted VARCHAR2(4000);rn Vencryptedraw RAW(2048);rn Rawkey RAW(240) := '';rn BEGINrn Rawkey := Gen_Raw_Key(Ikey); -- encrypt input stringrn Vencrypted := Dbms_Obfuscation_Toolkit.Des3encrypt(Formatstr(Ivalue),rn Key_String => Rawkey,rn Which => Imode);rn -- convert to raw as outrn Vencryptedraw := Utl_Raw.Cast_To_Raw(Vencrypted);rn RETURN Vencryptedraw;rn EXCEPTIONrn WHEN OTHERS THENrn RETURN NULL;rn END Encrypt_3key_Mode;rnrn[/code]rnrn为什么会得到这样的结果?是不是因为编码方式有问题?rn
求C++与Delphi的Des加密结果相同的代码。
求C++与Delphi的Des<em>加密结果</em>相同的代码。rnhttp://www.delphibbs.com/delphibbs/dispq.asp?lid=3635500
aes加密,c++源码,java源码,加密结果一致
所提供的压缩包中,支持c++ aes加密解密,base64处理,java加密解密,c++<em>加密结果</em>和java<em>加密结果</em>相同。加密源码,相关测试代码俱全。
linux DES秘钥生成每次加密结果不同
linux 加密Key的生成
AES加密与解密报错:javax.crypto.BadPaddingException: Given final block not properly pad
1.错误现象: javax.crypto.BadPaddingException: Given final block not properly padded at com.sun.crypto.pr
AES加密没问题!解密时出错了!
package serictly; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmExce
KeyStore报错 Given final block not properly padded
-
java和php的hmac_sha1结果不同,求高手帮忙
-
在使用jdk1.6时使用Cipher进行解密时,程序不往下走了
-
关于MD5加密结果不统一的问题
用了c#的md5加密后出来的内容是32个字符,但某些软件(例如serv-u)的md5加密出来的结果却是34个字符的,而且结果也对应不上,为什么会这样?C#能否设置MD5加密后的结果的字符位数?
C# 模拟openssl des-cbc加密 加密结果一样
估计很多人也出现过这样的情况,调用openssl的des-cbc加密和C#的des-cbc加密的结果不一样,直接调用dll,用dllimport会出现指针内存错误的问题,释放指针时间太长,对于大批量循环加密会影响。具体的请下载文档参考。
bouncycastle.jar以及测试加密结果的windows版软件
压缩包中包含bouncycastle.jar以及window上用的测试<em>加密结果</em>的SM2SM3通用工具 V10 免费绿色版
JAVA和C# MD5加密结果不一样,怎么办
[code=java]MessageDigest mdInst = MessageDigest.getInstance("MD5");rnbyte[] md = mdInst.digest(value.getBytes());//value为认证的原文rnString md5 = "";rnfor(int i=0;i> 4 + "0123456789ABCDEF".charAt(md[i] & 0xf));rn[/code]rn[code=csharp]byte[] Buffer = Encoding.Default.GetBytes(value);rnMD5 md5 = MD5.Create();rnbyte[] tempMD5Value = md5.ComputeHash(Buffer);rnstring strMD5Value = string.Empty;rnfor (int i = 0; i < tempMD5Value.Length; i++)rnrn strMD5Value += ("" + md5Str.Substring(0xf & tempMD5Value[i] >> 4, 1) + md5Str.Substring(tempMD5Value[i] & 0xf, 1));rn[/code]rn不能修改JAVA,怎么改下C#让<em>加密结果</em>一样呀。
ASP.NET和c#中md5加密结果不同的问题
问题同题目,如果解决,我在c#中16和32两种方法都试了,都不同
RSA解密时BadPaddingException
public class RSATest2 { public static void main(String args) { try { RSATest2 encrypt = new RSATest2
请问微信小程序中的数组怎么样实现查询其中的元素呢
-
Java MAC加密算法
MAC密钥的支算法结合了MD5和SHA算法的优势,并加入持,是一种更为安全的消息摘要算法。 MAC(Message Authentication Code,消息认证码算法)是含有密钥的散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加入了密钥。消息的散列值由只有通信双方知道的秘密密钥K来控制,因次,我们也常把MAC称为HMAC(keyed-Hash Message Authentication Code)。
RSA加密字节改变,String与byte转出问题
-
AES加解密的错误提示 javax.crypto.BadPaddingException: pad block corrupted
AES解密的错误提示: javax.crypto.BadPaddingException: pad block corrupted at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown Source) at org.bouncy
[加密]JAVA与.NET加密结果相同的MD5算法
最近用到MD5加密算法 看到网上有许多人说.NET和JAVA的<em>加密结果</em>不一样 综合了一下网上的解决方法 得出以下结论: C#的默认的Byte范围和JAVA不一样, 所以在JAVA代码里把Byte改成16位的,再加密。 JAVA代码: public String MD5(String s) { //16进制下数字到字符的映射数组 ch
EVP方式实现的3DES方法加密结果不正确
封装了openssl中的3des算法,计算出的结果不正确rnEVP_des_ede_cbc\EVP_des_ede3_ecb\EVP_des_cbc三个参数都测试了,都不正确rn测数数据:rn密钥 11111111111111111111111111111111rn数据 11111111111111111111111111111111rn结果 F40379AB9E0EC533F40379AB9E0EC533B95374BA8DDFF8C2rn正确结果 [color=#FF0000]F40379AB9E0EC533F40379AB9E0EC533[/color]rn为什么最后多一个分组呢?rn[code=c]rn//3DESrnint ThreeTrip_DES(unsigned char* data,int datalen,unsigned char* key,int keylen,rn unsigned char* outdata,int* outdatalen)rnrn unsigned char outbuf[1024];rn int outlen, tmplen;rn rn unsigned char iv[8] = 0,0,0,0,0,0,0,0; //8字节一个分组的长度rn rn EVP_CIPHER_CTX ctx;rnrn EVP_CIPHER_CTX_init(&ctx);rn EVP_EncryptInit_ex(&ctx,EVP_des_ede_cbc(),NULL,key,iv);//3DES算法 EVP_des_ede_cbc\EVP_des_ede3_ecb\EVP_des_cbcrn rn if(!EVP_EncryptUpdate(&ctx, outbuf, &outlen, (unsigned char*)data, datalen))rn rn EVP_CIPHER_CTX_cleanup(&ctx);rn return -1;rn rn rn //注意,传入给下面函数的输出缓存参数必须注意不能覆盖了原来的加密输出的数据rn if(!EVP_EncryptFinal_ex(&ctx, outbuf + outlen, &tmplen))rn rn EVP_CIPHER_CTX_cleanup(&ctx); rn return -2;rn rn outlen += tmplen;rn EVP_CIPHER_CTX_cleanup(&ctx);rn rn //返回数据rn *outdatalen = outlen;rn memcpy(outdata,outbuf,outlen);rn rn return 0;rnrn[/code]
winfrom MD5加密结果在不同电脑上不相同
public string GetMD5(string str)rnrn System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();rn Encoding en = Encoding.Default;rn byte[] buff = md5.ComputeHash(en.GetBytes(str));rn StringBuilder sb = new StringBuilder();rn for (int i = 0; i < buff.Length; i++)rn rn sb.Append(buff[i].ToString("X2"));rn rn return sb.ToString();rnrnrn以上是代码,把winfrom打包或者在debug中将exe取出来,在不同的电脑上显示的MD5<em>加密结果</em>都不一样。rn有部分电脑是相同但是有的电脑就不相同,请问为什么呢?rn加密的字符串是一串英文加当前的年月日rnGetMD5("winfrom " + DateTime.Now.Date.ToString())这样调用的...
我想要一个一致的加密结果
救命啊。。。好几天了,下面这个java的怎么转成C#的[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/11.gif][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/11.gif][/img][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/11.gif][/img]rnrn[code=java]rnpublic static String testAesEncrypt(String content,String password)throws Exceptionrn rn byte[] fromcontent=content.getBytes();rn StringBuffer sb=new StringBuffer();rn try rn rn KeyGenerator kgen = KeyGenerator.getInstance("AES");rn SecureRandom random=SecureRandom.getInstance("SHA1PRNG");rn random.setSeed(password.getBytes());rn kgen.init(128, random);rn SecretKey secretKey = kgen.generateKey(); rn rn byte[] enCodeFormat = secretKey.getEncoded(); rn SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES"); rn Cipher cipher = Cipher.getInstance("AES");rn rn cipher.init(Cipher.ENCRYPT_MODE, key);rn rn byte[] result = cipher.doFinal(fromcontent);rn rn for (int i = 0; i < result.length; i++) rn String hex = Integer.toHexString(result[i] & 0xFF); rn if (hex.length() == 1) rn hex = '0' + hex; rn rn sb.append(hex.toUpperCase());rn rn rn catch(Exception e)rn rn return sb.toString();rn rn[/code]
中文MD5加密结果与ASP不同,着急!
主要用了下面的函数来加密,其中的Encoding已经测试过所有类型,但是对于中文字符的<em>加密结果</em>都是与ASP以及JAVA的<em>加密结果</em>不同,请问有人知道如何解决嘛?rnrnSystem.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("中文加密字符","MD5");rnrnpublic static string GetMD5(string str)rn rn byte[] b=System.Text.Encoding.Default.GetBytes(str);rn b=new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(b);rn string ret="";rn for(int i=0;i
微信小程序VM2557:2 Failed to load image
-
java加密解密研究8、MAC算法家族
一、概述 MAC算法结合了MD5和SHA算法的优势,并加入密钥的支持,是一种更为安全的消息摘要算法。 MAC(Message Authentication Code,消息认证码算法)是含有密钥的散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加入了密钥。日次,我们也常把MAC称为HMAC(keyed-Hash Message Authentication Code)。 MAC算法
openssl RSA基本加密解密
#include #include #include #include #include #include int main(int argc, char *argv[]) { // 产生RSA密钥对 RSA *rsaKey = RSA_generate_key(1024, 65537, NULL, NULL); int keySize = RSA_size(rsaKey
OpenSSL库的RSA使用(下)-rsa函数方式
本文上接:OpenSSL库的RSA使用(上)-EVP方式,URL:http://blog.csdn.net/fenghaibo00/article/details/17248381 3      RSA函数方式 3.1 步骤 i.             生成RSA的key,包括三部分:公钥指数、私钥指数和模数(这些需要先了解一下RSA算法的原理) ii.           
C# AES 加密结果与 iOS Objective-C不同的问题
双方都用AES加解密rnrnMode:ECBrnPadding:PKCS7rnKeySize:128rnrn两边得出的结果始终不一样,有向量没向量都测试过了,网上也搜索出确实是有此类问题,但始终没找到好的解决方法,所以上CSDN求经验
.net 实现CryptoJS加密,与js加密结果一致
/// &lt;summary&gt; /// CryptoJS 加密 /// &lt;/summary&gt; /// &lt;param name="encStr"&gt;&lt;/param&gt; /// &lt;param name="key"&gt;16位&lt;/param&gt; ///...
java MD5加密代码
public final static String MD5(String s) {         char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};                try {             byte[] btInput = s.getBytes()
VB.NET中的md5加密结果与java的区别
最近用vb.net的md5加密同一个字符串,为什么和java产生的密码不一样请教!
Delphi MD5加密[和Java的MD5加密结果一致]
//MD5加密字符串 function TWorkWindowForm.ret_mymd5(const sVaule: string): string; var   mymd5: TIdHashMessageDigest5; begin   try     mymd5 := TIdHashMessageDigest5.Create;     Result := (mymd5.AsHex(mymd...
非对称加密算法之RSA介绍及OpenSSL中RSA常用函数使用举例
非对称加密算法之RSA介绍及OpenSSL中RSA常用函数使用举例!
RSA_public_encrypt加密问题
已知公钥存于数组pub_key中,如何利用该公钥调用openssl库函数RSA_public_encrypt对明文text加密呢? 另外,如果公钥的长度不变,明文的长度也不变,密文的长度会变化吗? 对
使用RSA算法加密数据
近期做程序,需要用到
rsa_public_encryptd当加密以汉字开头的文件返回负值,加密不以汉字开头的文件没问题
-
编译报错:undefined reference to `RSA_public_encrypt'问题解决
gcc rsa.c -lcrypto 结尾加-lcrypto即可解决问题
如何调用DES函数,并获得加密结果
函数如下:rnprocedure DES( Function encrypt/decrypt data using DES algotithm rn const Input : TArrayOf8Bytes; 64 bit of input rn var Output : TArrayOf8Bytes; 64 bit output from DES algorithm rn const Key : TArrayOf8Bytes; 64 bit key for DES algorithm rn Encrypt : Boolean); TRUE to encrypt, FALSE to decrypt
同为md5加密结果会不同吗?
我下了个论坛程序rn它的数据库保存的“HDLabBBS"md5码为946d7e5945472faf79cdba07966f47fern而我用rnstring dfgf=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("HDLabBBS","md5").ToLower();rn得到的结果是"d692bc40d83423d24d3a37582f58468c"rn我问了论坛的开发人员,他们说是直接转的md5!!rn那我和他的结果怎么会不一样呢?rn
字体大小不一致
设计时:rn[img=C:\Documents and Settings\guodan\桌面\12.jpg][/img]rn浏览时:rn[img=C:\Documents and Settings\guodan\桌面\11.jpg][/img]rn为什么字体<em>不一致</em>???
坐标不一致
各位大虾,我在formview中用一个static控件,在派生的static类中画点的坐标,然后,比较鼠标的坐标和所画点的结果,我该怎么将控件中的点的坐标和formview中的坐标联系起来。
广东工业大学 数据结构 anyview 作业系统 第六章答案下载
广东工业大学 数据结构 anyview 作业系统 第六章答案 相关下载链接:[url=//download.csdn.net/download/laizhd/2841428?utm_source=bbsseo]//download.csdn.net/download/laizhd/2841428?utm_source=bbsseo[/url]
传其网关源码下载
易语言资源网整理收集仅供易语言用户学习和易语言技术研 究探讨使用,不得用于任何商业用途。 相关下载链接:[url=//download.csdn.net/download/jimi78/4873838?utm_source=bbsseo]//download.csdn.net/download/jimi78/4873838?utm_source=bbsseo[/url]
SQL Server自动备份小精灵下载
SQL Server自动备份小精灵 相关下载链接:[url=//download.csdn.net/download/u010046093/5184766?utm_source=bbsseo]//download.csdn.net/download/u010046093/5184766?utm_source=bbsseo[/url]
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件
我们是很有底线的