用Java实现C#加密

来源:互联网  责任编辑:小易  

Java 与百 C# 语法上面,差别不是很大啊主要就是 类库 的差别。度控制台知小程序 都是 mainC#输入 Console.ReadLine输出 Console.WriteLineJava输入 System.in.xxx 忘记道啥方法了…输出 System.out.println一般来说,如果你 Java 的类库清楚内了,切换到 C#,就直容接看 MSDN 就行www.zgxue.com防采集请勿采集本网。

服务器端数据库保存的加密密码是别人用C#实现的,代码不能更改,我现在要做移动客户端,问下用Java怎么实现该加密?

C#加密代码如下所示:

现在说哪个发展前景更好还是为时过早的。毕竟一门语言说不定在哪天会被更加优秀的语言所淘汰,要知道计算机技术的更新速度,日新月异的。从目前的职位来看,招java方面的企业似乎比C#的多点。

using System;

如果只是应对毕业设计,我个人建议学习C#语言然后做程序开发,因为C#相对来说上手快些,java 安卓起步较高,不太容易上拿。我这只是个人的一些见解,希望你根据个人的情况来选择合适的方向。

using System.Security.Cryptography;  

找个免费视频学习软件看看,再多练练就可以了,Csharp感觉比C,C++容易,JAVA优势是可以跨平台.

using System.Text;

update A set name='王五' 如果想将满足某些条件的name改成王五,如将张三改成王五,就 update A set name='王五' where name='张三'

namespace GCIT.Common.DEncrypt

(2)kaiser加密算法 具体程序: include include char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/ { while(ch>='A'&ch) { return('A'+(ch-'A'+n)%26);} while(ch>='a'&ch) {

{

    public class DESEncrypt

    {

        public DESEncrypt()

        {

        }

        #region ========加密========

        /// <summary>

        /// 加密

        public static string Ecrypt()

        {

             return Encrypt("global");

        }

        public static string Encrypt(string Text)

        {

            return Encrypt(Text, "GCITSOFT");

        }

        /// <summary> 

        /// 加密数据 

        public static string Encrypt(string Text, string sKey)

        {

            DESCryptoServiceProvider des = new DESCryptoServiceProvider();

            byte[] inputByteArray;

            inputByteArray = Encoding.Default.GetBytes(Text);

            des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.

HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));

            des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.

HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));

            System.IO.MemoryStream ms = new System.IO.MemoryStream();

            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

            cs.Write(inputByteArray, 0, inputByteArray.Length);

            cs.FlushFinalBlock();

            StringBuilder ret = new StringBuilder();

            foreach (byte b in ms.ToArray())

            {

                ret.AppendFormat("{0:X2}", b);

            }

            return ret.ToString();

        }

        #endregion

    }

}

这应该是外面是一个DES加密,然后里面嵌套了MD5算法,这个用Java怎么实现?

主要这两段代码是啥意思?

des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.

HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));

des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.

HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));

其实很简单啊,就是自己写个加密算法,把数据库配置加密了,然后写个接解密算法,在项目启动注册数据信息时去解析加密数据,解析出来的配置直接加载进内存生效就好了

百度有别人写好的。复制粘贴

引用 1 楼 bartholomew4 的回复:
其实很简单啊,就是自己写个加密算法,把数据库配置加密了,然后写个接解密算法,在项目启动注册数据信息时去解析加密数据,解析出来的配置直接加载进内存生效就好了
没这么容易吧,关键是Java中好像没有对应功能实现的类,这个不知道怎么写才好。

引用 3 楼 WonderosSky 的回复:
Quote: 引用 1 楼 bartholomew4 的回复:

其实很简单啊,就是自己写个加密算法,把数据库配置加密了,然后写个接解密算法,在项目启动注册数据信息时去解析加密数据,解析出来的配置直接加载进内存生效就好了

没这么容易吧,关键是Java中好像没有对应功能实现的类,这个不知道怎么写才好。

java加密包多的事,而且加密算法java写法百度一下也是一大堆的,其他的框架配置不清楚,起码JDBC可以实现,hibernate也可以实现

和以前的一样吗,因为C# 和java 的api 不一样, 具体看懂他的思路,重新写一个。 (adsbygoogle = window.adsbygoogle || []).push({});

其实你要看的不是加密算法,是数据库的配置文件的内存加载方法。。。。

怎么加密文件并可逆破解,这类的java能百度到一堆的,内存加载hibernate配置文件我当初是去外国网站翻了几天才找到的。。。。

引用 6 楼 bartholomew4 的回复:
其实你要看的不是加密算法,是数据库的配置文件的内存加载方法。。。。
不好意思,不小心点错了,问下数据库的内存加载方法是这两段代码么?

des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.

                        HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));

des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.

                        HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));

网上倒是有一个跟这个C#加密代码差不多了,但是少了一个GetBytes()括号里面的那段代码,就是这个

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5"),这=这段代码在Java中有同样功能的方法么?

这2个是加密的

  System.IO.MemoryStream ms = new System.IO.MemoryStream();

            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

这里的才是载入内存的,当然java的模式和C#的肯定不同,别问我C#里面具体是怎么回事情,微软不开源的

引用 9 楼 bartholomew4 的回复:
这2个是加密的

  System.IO.MemoryStream ms = new System.IO.MemoryStream();

            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

这里的才是载入内存的,当然java的模式和C#的肯定不同,别问我C#里面具体是怎么回事情,微软不开源的

终于搞定了,就是缺这个字符串,就是通过这个方法System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5")得到的字符串,之前一直不知道这是啥。

我也遇到了.net转java的项目了,加密居然是一个模子刻出来的,能不能麻烦版主把java代码贴出来看看?

可以,这是两个不同的语言,学透了一门比两门学的都稀松要强。只要学透了一门,以后有机会的话可以扩展到其他的语言内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 要学csharp不去专门学JAVA可以吗?
  • 那个高手给我讲一讲c#(csharp)和java的区别
  • 将c# csharp 加密代码写成解密代码
  • 什么语言是基于C++语言基础上的??是Csharp还是JAVA还是数据结构还是安卓?
  • CSharp和Java哪个更有发展前途
  • csharp软件应用开发和java安卓应用开发,哪个容易点。我毕业生。要学二者之一做毕业设计!基础
  • 怎样学好Csharp??Csharp与C,C++,JAVA相比有什么优势?有什么缺点?
  • 求Csharp和sql实现的学生信息管理系统
  • 将凯撒密码X的加密、解密过程用C语言编程实现
  • Csharp(C#),我已经做好窗口类程序,然后保存的文件是CS。我想让别人也可以使用,如何生成EXE。按F6之后·
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved