求C#软件加密代码

作者&投稿:夔朗 (若有异议请与网页底部的电邮联系)
net程序加密?C#开发软件的源代码怎么加密~

这个就要用专业的源代码加密软件去加密了。因为源代码涉及到的编译环境会相对复杂的。我目前了解到就是德人合科技的加密软件。

德人合科技源代码加密系统在不改变研发人员原有工作习惯和工作流程的情况下,对EditPlus、Notepad++、ultraEdit、Eclipse、MyEclipse、 Keil、Visuslstudio等源代码开发工具,以及CAM350、PADS、AltiumDesigner、Cadence、MentorGraphics等电路设计软件进行受控加密保护。
源代码文件加密后,不影响软件的正常编译,合法用户正常双击打开,在授权范围内使用。
源代码加密软件推荐使用德人合科技的透明加密防泄密软件系统,是一套从源头上保障数据安全和使用安全的软件系统。采用的是文件透明加密模块,对平常办公使用是没有影响的。而且支持与SVN等源代码管理工具无缝结合。
如果企业内部SVN服务器采取透明模式,即加密文件是可以存放在SVN服务器上的,需要达到的效果是SVN服务器上文件密文存储。则配合应用服务器安全接入系统来实现只有安装了加密客户端的Windows、Linux、MAC端才能够正常的访问公司内部的SVN服务器。
如果企业内部采用eclipse、VS等开发工具,从这些开发工具将代码直接上传到SVN服务器上时会自动解密。为了避免明文、密文混乱存放导致版本比对时出现错误等问题。因此,SVN服务器上需统一存放明文文件。则通过服务器白名单功能实现对终端电脑数据进行强制透明加密,对上传到应用服务器数据实现上传自动解密、下载自动加密。再配合应用服务器安全接入系统实现只有安装了加密客户端的Windows、Linux、MAC端才能够正常的访问公司内部的SVN服务器。
德人合科技为客户提供优质的内网安全管理产品和适合多种行业的应用解决方案。


什么是动态加密:
不知道这个算不算
///密码加密
///需要加密的字符串
/// string
public static string EncrpyKey(string src)
{
int keyPos = 0, offset = 0, srcPos = 0, srcAsc = 0, range = 256;
string dest = "", temp = "";
Random rd = new Random();
offset = rd.Next(range);
dest = offset.ToString("x");
dest = dest.Length < 2 ? "0" + dest : dest;
dest = dest.Substring(dest.Length - 2);
for (srcPos = 0; srcPos < src.Length; srcPos++)
{
srcAsc = (Convert.ToInt32(src.Substring(srcPos, 1).ToCharArray()[0]) + offset) % 255;
keyPos = keyPos < 0 ? keyPos + 1 : 1;
srcAsc = srcAsc ^ (Convert.ToInt32("这里放自定义字符串(adadasda)".Substring(keyPos - 1, 1).ToCharArray()[0]));
temp = srcAsc.ToString("x");
temp = temp.Length < 2 ? "0" + temp : temp;
dest = dest + temp.Substring(temp.Length - 2);
offset = srcAsc;
}
return dest;
}
///密码解密
///需要解密的字符串
/// string
public static string UncrypKey(string src)
{
int keyPos = 0, srcPos = 3, srcAsc = 0,
offset = Int32.Parse(src.Substring(0, 2), System.Globalization.NumberStyles.AllowHexSpecifier);
string dest = "";
do
{
srcAsc = Int32.Parse(src.Substring(srcPos - 1, 2), System.Globalization.NumberStyles.AllowHexSpecifier);
keyPos = keyPos < 0 ? keyPos + 1 : 1;
int tempSrcAsc = srcAsc ^ Convert.ToInt32(""这里放自定义字符串(adadasda)".Substring(keyPos - 1, 1).ToCharArray()[0]);
tempSrcAsc = tempSrcAsc <= offset ? 255 + tempSrcAsc - offset : tempSrcAsc - offset;
dest = dest + (char)tempSrcAsc;
offset = srcAsc;
srcPos = srcPos + 2;
} while (srcPos <= src.Length);
return dest;
}

这个加密方式特点:同一个数据每次加密出来的字符不通,但是解密出来都相同!

public class HerpEncrypt {
#region 三重DES加密解密
private static TripleDES mydes = new TripleDESCryptoServiceProvider();
/// <summary>
/// 密钥
/// </summary>
public static string Key = "[)&@^&*!~(12njimht+d_w#$";
/// <summary>
/// 向量
/// </summary>
public static string IV = "#$^%&&*Y";//"#$^%&&*Yisifhsfjsljfslhgosdshf26382837sdfjskhf97(*&(*";

/// <summary>
/// 获得密钥
/// </summary>
/// <returns>密钥</returns>
private static byte[] GetLegalKey() {
string sTemp = Key;
//mydes.GenerateKey();
//byte[] bytTemp = mydes.Key;
//int KeyLength = bytTemp.Length;
//if (sTemp.Length > KeyLength)
// sTemp = sTemp.Substring(0, KeyLength);
//else if (sTemp.Length < KeyLength)
// sTemp = sTemp.PadRight(KeyLength, ' ');
return ASCIIEncoding.ASCII.GetBytes(sTemp);
}
/// <summary>
/// 获得初始向量IV
/// </summary>
/// <returns>初试向量IV</returns>
private static byte[] GetLegalIV() {
string sTemp = IV;
//mydes.GenerateIV();
//byte[] bytTemp = mydes.IV;
//int IVLength = bytTemp.Length;
//if (sTemp.Length > IVLength)
// sTemp = sTemp.Substring(0, IVLength);
//else if (sTemp.Length < IVLength)
// sTemp = sTemp.PadRight(IVLength, ' ');
return ASCIIEncoding.ASCII.GetBytes(sTemp);
}
/// <summary>
/// 加密方法
/// </summary>
/// <param name="Source">待加密的串</param>
/// <returns>经过加密的串</returns>
public static string Encrypt(string Source) {
try {
byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source);
MemoryStream ms = new MemoryStream();
mydes.Key = GetLegalKey();
mydes.IV = GetLegalIV();
ICryptoTransform encrypto = mydes.CreateEncryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
cs.Write(bytIn, 0, bytIn.Length);
cs.FlushFinalBlock();
ms.Close();
byte[] bytOut = ms.ToArray();
return Convert.ToBase64String(bytOut);
} catch (Exception ex) {
throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message);
}
}
/// <summary>
/// 解密方法
/// </summary>
/// <param name="Source">待解密的串</param>
/// <returns>经过解密的串</returns>
public static string Decrypt(string Source) {
try {
byte[] bytIn = Convert.FromBase64String(Source);
MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);
mydes.Key = GetLegalKey();
mydes.IV = GetLegalIV();
ICryptoTransform encrypto = mydes.CreateDecryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
return sr.ReadToEnd();
} catch (Exception ex) {
throw new Exception("在文件解密的时候出现错误!错误提示: \n" + ex.Message);
}
}
/// <summary>
/// 加密方法byte[] to byte[]
/// </summary>
/// <param name="Source">待加密的byte数组</param>
/// <returns>经过加密的byte数组</returns>
public static byte[] Encrypt(byte[] Source) {
try {
byte[] bytIn = Source;
MemoryStream ms = new MemoryStream();
mydes.Key = GetLegalKey();
mydes.IV = GetLegalIV();
ICryptoTransform encrypto = mydes.CreateEncryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
cs.Write(bytIn, 0, bytIn.Length);
cs.FlushFinalBlock();
ms.Close();
byte[] bytOut = ms.ToArray();
return bytOut;
} catch (Exception ex) {
throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message);
}
}
/// <summary>
/// 解密方法byte[] to byte[]
/// </summary>
/// <param name="Source">待解密的byte数组</param>
/// <returns>经过解密的byte数组</returns>
public static byte[] Decrypt(byte[] Source) {
try {
byte[] bytIn = Source;
MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);
mydes.Key = GetLegalKey();
mydes.IV = GetLegalIV();
ICryptoTransform encrypto = mydes.CreateDecryptor();
CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
return UTF8Encoding.UTF8.GetBytes(sr.ReadToEnd());
} catch (Exception ex) {
throw new Exception("在文件解密的时候出现错误!错误提示: \n" + ex.Message);
}
}

/// <summary>
/// 加密方法File to File
/// </summary>
/// <param name="inFileName">待加密文件的路径</param>
/// <param name="outFileName">待加密后文件的输出路径</param>
public static void Encrypt(string inFileName, string outFileName) {
try {

FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outFileName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);

mydes.Key = GetLegalKey();
mydes.IV = GetLegalIV();

byte[] bin = new byte[100];
long rdlen = 0;
long totlen = fin.Length;
int len;

ICryptoTransform encrypto = mydes.CreateEncryptor();
CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);
while (rdlen < totlen) {
len = fin.Read(bin, 0, 100);
cs.Write(bin, 0, len);
rdlen = rdlen + len;
}
cs.Close();
fout.Close();
fin.Close();

} catch (Exception ex) {
throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message);
}
}
/// <summary>
/// 解密方法File to File
/// </summary>
/// <param name="inFileName">待解密文件的路径</param>
/// <param name="outFileName">待解密后文件的输出路径</param>
public static void Decrypt(string inFileName, string outFileName) {
try {
FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outFileName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);

byte[] bin = new byte[100];
long rdlen = 0;
long totlen = fin.Length;
int len;
mydes.Key = GetLegalKey();
mydes.IV = GetLegalIV();
ICryptoTransform encrypto = mydes.CreateDecryptor();
CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);
while (rdlen < totlen) {
len = fin.Read(bin, 0, 100);
cs.Write(bin, 0, len);
rdlen = rdlen + len;
}
cs.Close();
fout.Close();
fin.Close();

} catch (Exception ex) {
throw new Exception("在文件解密的时候出现错误!错误提示: \n" + ex.Message);
}
}
#endregion

#region MD5加密
/// <summary>
/// 对字符串进行MD5加密
/// </summary>
/// <param name="str">要加密的字符串</param>
/// <returns>加密后结果</returns>
public static string StringToMD5(string str) {
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
}
#endregion

你是想加密数据库,还是想加密程序本身,

不知道你是要什么加密,是加密软件还是加密数据。
如果是加密软件的话,我劝你还是用加密狗方式比较好,就是用硬狗,如果是加密数据,用一般的MD5就可以,请补充问题。

System.Security.Cryptography 命名空间
这里有常用的加密和解密


c的正确发音
c在英文字母中读作“ [si:]”。“c”是英语字母中的第三个字母,大写为“C”,小写为“c”。字母的含义:1、在数学及计算机科学中,表示十六进制的12。2、在化学中,表示碳的化学符号。3、在乐理中,表示音阶中的C音。4、在国际单位制的电荷中表示库仑。5、在营养学中,表示维生素C。6、在生...

c是什么意思数学
C是数学中的一种常数,常出现在各种式子中。其代表的是一个固定的数值,通常用来表示某种特定的物理量或者数学常量。C的意义在不同的上下文中有所不同,比如C可能代表光速,圆周率或者其他数学上的常量。在数学上,C代表了需要用作计算基础的一些重要数值,因此不同的C值被广泛应用于各种数学分支中。在...

c是什么意思?
c++的具体含义如下:C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计...

网络上C和sc是什么意思?
1、”C“是拼音“chu”的首字母,为了方便起见缩写为“C”,指的是处男、处女的意思。2、SC是superchat的缩写,是付费留言功能。这个功能最开始是YouTube2017年上线的,B站也推出了这个功能。这是一种在直播过程中连接粉丝与主播的方式,同时也可给主播带来相应的经济收益。通过这一功能,粉丝可以以明亮...

C是什么意思?
nCk是一个整体,是n个元素中,取k个元素的取法的个数,也叫n个元素中,取k 个k组合数,(C代表组合),算法是:nCk=n!\/k!(n-k)!=n(n-1)……(n-k+1)\/k!等于从n开始连续递减的m个自然数的积除以从1开始连续递增的m个自然数的积。该概率公式的推导过程:在这个证明中,表示n次...

c的意思是怎么样的?
c的意思:1、在化学中,表示碳的化学符号。2、在乐理中,表示:音阶中的C音,调号中于C音开始的音乐的C大调及C小调,拍子记号中的4\/4拍子。3、在罗马数字中,表示100。4、在国际单位制中,表示电荷量的单位“库仑”。5、在计算机科学中,有C语言、C++、C#、Objective-C等。6、在营养学中,表示...

c是什么意思的缩写?
c是什么意思的缩写1 C是cell英语名称的简称,意思是细胞。词汇解析:cell 基本词汇 英 [sel] 美 [sel]n. 单人牢房;小房间;细胞;蜂房的巢室;电池;政治小组;(计算机电子表格的)单元格;手机 The prisoner was locked in a cell.那囚犯被关在单人牢房内。diseased cell 发生病变的细胞 d...

c在化学中指什么意思
C在化学中有两种含义:1、表示浓度,单位为mol\/L,计算式为:C=n\/V. C=1000ρω\/M。含义:以1升溶液中所含溶质的摩尔数表示的浓度。以单位体积里所含溶质的物质的量(摩尔数)来表示溶液组成的物理量,叫作该溶质的摩尔浓度,又称该溶质物质的量浓度。溶质含量越多,浓度越大。浓度可以用一定...

c是什么?
c是字母符号。C(大写) 、c(小写)是英文字母顺数第三个,俄语字母顺数第19个。例如:英语单词cloud和“苏联”的俄语缩写СССР的第一个字母就是c。起源:(1)字母C的产生可能是由于一个投掷棒的符号,像在古埃及的象形文字里,并很早出现在闪族的书面当中-大约在公元前1500年的西奈半岛。(...

C的含义是什么?
数学符号c右上角是1右下角是4的意思是数学中的组合,右下角的4表示总体个数,右上角的1表示抽取个数,且从4个里面抽取一个,C¹₄=4÷1=4。组合:一般地,从n个不同的元素中,任取m(m≤n)个元素为一组,叫作从n个不同元素中取出m个元素的一个组合。所有这样的组合的总数...

松溪县17264329599: 求一段C#简单的字符串加密与解密代码 -
苑裴优氟: using System.Security.Cryptography;using System.Text;string get6(string 要加密的文字或者要解密的文字outXMLFilePath, string jia) { byte[] Keys ={ 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; if (jia.Equals("加密")) { byte[] rgbKey ={ 0x12,...

松溪县17264329599: C#编写一个程序,设置密码 -
苑裴优氟: /// <summary> /// 随机密码 /// </summary> /// <returns></returns> private string SuiJiMiMa(int num) { int number; char pwd; string PassWord = String.Empty; System.Random random = new Random(); for (int i = 0; i < num; i++) { number = random....

松溪县17264329599: 急!C# 控制台应用程序:对一个6位进行加密,输出加密后的密码. -
苑裴优氟: string a = "123456"; //原始密码 char[] b =a.ToCharArray(); //转成char数组 string c =""; //加密后的密码 foreach (char d in b) //循环char数组 { c+=((Convert.ToInt32(d)+5)%10).ToString(); //char转成int,然后+5,再对10取模,转成string,赋值给c. } return c; //返回加密后的密码

松溪县17264329599: 求C#的一个字符串加密程序 -
苑裴优氟: static void Main(string[] args) { string test = "zhang min will go to shanghai tommorw"; string dest = ""; // 加密的string string dest2 = ""; //解密的string System.Text.ASCIIEncoding code = new System.Text.ASCIIEncoding(); //开始加密...

松溪县17264329599: C#中"文件加密器"代码怎么写出来啊??
苑裴优氟: #include<stdio.h> #include<conio.h> void main() {char ch; clrscr(); printf("\n\n\n\n\n\n\n\n"); printf(" |----------------------------------------|\n"); printf(" | I wish you the best of luck |\n"); printf(" |----------------------------------------|\n"); printf(" | mi ma zhi ...

松溪县17264329599: 设置密码至少6位的C#代码 -
苑裴优氟: if (txtPwd.Text.Length

松溪县17264329599: 求C# windows程序 用户名 密码 验证代码 -
苑裴优氟: 我写的是vs.net2003的代码: namespace 密码验证 { public class mimayanzheng : System.Windows.Forms.Form { private DataTable myTable; private DataRow myRow; } private void button1_Click(object sender, System.EventArgs e) { ...

松溪县17264329599: 求一个c# md5加密算法的实例,要有说明的 -
苑裴优氟:string pwd = &quot.Cryptography;); / 加密后是一个字节类型的数组 byte[] s=md5.格式后的字符是小写的字母;; using System,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].Create(); s.Text; 将得到的字符串使用十六...

松溪县17264329599: 谁能给我C#的MD5加密跟解密的代码? -
苑裴优氟: MD5加密有./// <summary> /// 字符串MD5加密 /// </summary> /// <param name="codeName">编码类型</param> /// <param name="sourceString">需要加密的字符串</param> /// <returns>MD5加密后字符串</returns> public static string ...

松溪县17264329599: 如何给C#程序加密呢?
苑裴优氟: System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("此处写你要加密的文本内容","MD5")

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网