<%@ Page Language="C#" EnableSessionState="True" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<script runat="server">
public string DecrytFun(string custData)
{
byte[] key = Encoding.ASCII.GetBytes("201206==");
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream memoryStream = new MemoryStream(Convert.FromBase64String(custData));
CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptoProvider.CreateDecryptor(key, key), CryptoStreamMode.Read);
StreamReader reader = new StreamReader(cryptoStream);
return reader.ReadToEnd();
}
/// <summary>
///
/// </summary>
/// <param name="source">要解密的文件路径</param>
/// <param name="target">解密后保存的文件路径</param>
public void DecryFile(string source, string target)
{
string s = File.ReadAllText(source);
string[] arr = s.Replace("\r", "").Split('\n');
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (string _s in arr) if (_s.Trim() != "") sb.Append(DecrytFun(_s) + "\r\n");
File.WriteAllText(target, sb.ToString().TrimEnd());
}
protected void Page_Load(Object sender, EventArgs args)
{
string source = Server.MapPath("1.txt"), target = Server.MapPath("2.txt");
DecryFile(source, target);
Response.Redirect("2.txt");
}
</script>
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0117: “System.IO.File”并不包含对“ReadAllText”的定义
源错误:
行 20: public void DecryFile(string source, string target)
行 21: {
行 22: string s = File.ReadAllText(source);
行 23: string[] arr = s.Replace("\r", "").Split('\n');
行 24: System.Text.StringBuilder sb = new System.Text.StringBuilder();
你什么版本的framework啊?System.IO.File有ReadAllText方法,你不会是framework1的吧??改2+以上的
<%@ Page Language="C#" EnableSessionState="True" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Security.Cryptography" %>
public class FunCollect { private static byte[] rData = new byte[1024]; private static byte[] sData = new byte[1024]; public static string SkposEN(string custData) { string result; try { byte[] bytes = Encoding.ASCII.GetBytes("+TSsEgq7pFwUMO0j4Ts2NQ=="); byte[] bytes2 = Encoding.ASCII.GetBytes("+Ts2NQ=="); TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider = new TripleDESCryptoServiceProvider(); tripleDESCryptoServiceProvider.Key = bytes; tripleDESCryptoServiceProvider.IV = bytes2; tripleDESCryptoServiceProvider.Mode = CipherMode.ECB; tripleDESCryptoServiceProvider.Padding = PaddingMode.PKCS7; MemoryStream expr_47 = new MemoryStream(); CryptoStream arg_65_0 = new CryptoStream(expr_47, tripleDESCryptoServiceProvider.CreateEncryptor(), CryptoStreamMode.Write); byte[] bytes3 = Encoding.UTF8.GetBytes(custData.ToCharArray()); arg_65_0.Write(bytes3, 0, bytes3.Length); arg_65_0.FlushFinalBlock(); result = Convert.ToBase64String(expr_47.ToArray()).ToString(); } catch { result = custData; } return result; } public static string ubiDecrypt(string eData) { string result = eData; try { int num = (int)Convert.ToInt16(eData.Substring(0, 1)); eData.Substring(1, num); string arg_45_0 = eData.Substring(num + 1, 6); eData.Substring(num + 7, 6); string str = eData.Substring(num + 13, eData.Length - (num + 33)); result = FunCollect.SkposDN(arg_45_0 + str); } catch { } return result; } public static string SkposDN(string custData) { string result; try { byte[] bytes = Encoding.ASCII.GetBytes("+TSsEgq7pFwUMO0j4Ts2NQ=="); byte[] bytes2 = Encoding.ASCII.GetBytes("+Ts2NQ=="); TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider = new TripleDESCryptoServiceProvider(); tripleDESCryptoServiceProvider.Key = bytes; tripleDESCryptoServiceProvider.IV = bytes2; tripleDESCryptoServiceProvider.Mode = CipherMode.ECB; tripleDESCryptoServiceProvider.Padding = PaddingMode.PKCS7; MemoryStream memoryStream = new MemoryStream(); CryptoStream arg_5D_0 = new CryptoStream(memoryStream, tripleDESCryptoServiceProvider.CreateDecryptor(), CryptoStreamMode.Write); byte[] array = Convert.FromBase64String(custData); arg_5D_0.Write(array, 0, array.Length); arg_5D_0.FlushFinalBlock(); result = Encoding.UTF8.GetString(memoryStream.GetBuffer(), 0, (int) memoryStream.Length).ToString(); } catch { result = custData; } return result; } } /// <summary> /// /// </summary> /// <param name="source">要解密的文件路径</param> /// <param name="target">解密后保存的文件路径</param> public void DecryFile(string source, string target) { string s = File.ReadAllText(source); string[] arr = s.Replace("\r", "").Split('\n'); System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (string _s in arr) if (_s.Trim() != "") sb.Append(ubiDecrypt.SkposDN(_s) + "\r\n"); File.WriteAllText(target, sb.ToString().TrimEnd()); } protected void Page_Load(Object sender, EventArgs args) { string source = Server.MapPath("1.txt"), target = Server.MapPath("2.txt"); DecryFile(source, target); Response.Redirect("2.txt"); }
foreach (string _s in arr) if (_s.Trim() != "") sb.Append(ubiDecrypt.SkposDN(_s) + "\r\n");
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误消息: CS0103: 当前上下文中不存在名称“ubiDecrypt”
怎么解决