关于.net和java des加密
在.net和java环境中对于des加密,有几点要协同的地方:
- 密钥和密钥向量Key IV
- 加密模式CipherMode
- 填充模式PaddingMode
- 密文编码方式
下面一段.net的des加密方式
public string GetConsoleUrl(string vmName)
{
string rs = string.Empty;
using (CloudContext db = new CloudContext())
{
var configs = new ConfigurationRepository(db).GetAll().Where(x => x.Key.Equals("ConsoleUrl") || x.Key.Equals("ConsoleKey"));
if (configs != null)
{
string url = string.Empty;
string key = string.Empty; if (configs.FirstOrDefault(x => x.Key.Equals("ConsoleUrl")) != null)
url = configs.First(x => x.Key.Equals("ConsoleUrl")).Value;
if (configs.FirstOrDefault(x => x.Key.Equals("ConsoleKey")) != null)
key = configs.First(x => x.Key.Equals("ConsoleKey")).Value; if (!string.IsNullOrEmpty(url) && !string.IsNullOrEmpty(key))
{
byte[] rgbKey = Encoding.UTF8.GetBytes(key);
byte[] inputByteArray = Encoding.UTF8.GetBytes(vmName + "|" + DateTime.Now.ToString("yyyyMMddhhmmssfff"));
byte[] rgbIV = rgbKey; DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Mode = CipherMode.ECB;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cs.Write(inputByteArray, , inputByteArray.Length);
cs.FlushFinalBlock(); StringBuilder sb = new StringBuilder();
foreach (byte b in ms.ToArray())
{
sb.AppendFormat("{0:X2}", b);
}
rs = string.Format("http://{0}?token={1}", url, sb.ToString());
ms.Close();
ms.Dispose(); return rs;
}
}
}
return rs;
}
关于.net和java des加密的更多相关文章
- 使用C# DES解密java DES加密的字符串
转自 microAllen 最近需要使用C#的DES解密工具类解密字符串,但是要解密的字符串是使用java进行DES加密的,去网上查了关于C#和java关于DES加密解密的资料,发现可以相互加密解 ...
- C# Java DES加密解密
转自http://www.cnblogs.com/zhuiyi/archive/2013/04/01/2993201.html 最近被DES加解密弄得超级郁闷,我用C#的方法加密得到的密文老是跟客户给 ...
- java des 加密/解密
JAVA实现 加密 注意:DES加密和解密过程中,密钥长度都必须是8的倍数 public byte[] desCrypto(byte[] datasource, String password) { ...
- Java DES 加密和解密源码(转)
原文地址:http://www.oschina.net/code/snippet_727646_18383 Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互 ...
- Java DES加密解密
import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpe ...
- Android和java平台 DES加密解密互通程序及其不能互通的原因
网上的demo一搜一大堆,但是,基本上都是一知半解(包括我).为什么呢?我在尝试分别在两个平台加密的时候,竟然发现Android DES 加密和java DES加密的程序不能互通.就是加密的结果不一样 ...
- Java DES 测试
package com.des.test; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyEx ...
- (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题
我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...
- des加密解密——java加密,php解密
最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混 ...
随机推荐
- IE6中PNG图片背景无法透明显示的最佳解决方案
我想,对于像我这样的年轻的程序员来说,做网页开发时用chrome.firefox或者ie10什么的大约是被宠坏了.所以当最近做的项目不得不在恐龙化石般的ie6上运行时,ie6种种诡异的行径简直让我发指 ...
- C#做的在线升级小程序
转自原文C#做的在线升级小程序 日前收到一个小任务,要做一个通用的在线升级程序.更新的内容包括一些dll或exe或.配置文件.升级的大致流程是这样的,从服务器获取一个更新的配置文件,经过核对后如有新的 ...
- Dijkstra 调度场算法 Python实现 一
调度场算法(Shunting Yard Algorithm)是一个用于将中缀表达式转换为后缀表达式的经典算法,由 Edsger Wybe Dijkstra 引入,因其操作类似于火车编组场而得名. — ...
- i++的原子性问题
一.什么是原子性 简单的可以理解为:操作是不可再分割的,比如: int i=0; 但是i++的操作是可以再分的,比如: i++ //分解后 i=i+i 上面的代码在多线程环境下取值是有问题的,比如: ...
- WCF配置Tcp协议
注意点: 1,<serviceMetadata httpGetEnabled="false"/> 2, <services> ...
- Linux实战教学笔记23:Inotify事件监控工具
第二十三节 inotify事件监控工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...
- SaltStack 运行机理特点
SaltStack 运行机理特点 1.实时通讯(REAL-TIME COMMUNICATION) 所有 Salt minions 接收命令都是同时的,这意味着控制 10 个或者 10000 个系统所消 ...
- windows下使用GNU make命令报错的解决方法
windows下使用GNU make命令报错的解决方法=> 错误信息:make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x ...
- spring MVC模式拦截所有入口方法的入参出参打印
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; im ...
- ICO流程,casestudy
https://medium.com/crypto-oracle/ico-analysis-framework-nex-case-study-bf65586b4b32