C#如何获得JS自带函数cfs(x)值?

qingtianzhuren 2010-11-11 04:03:34
如题!能调用JS函数也可以,C#自带或者自定义亦可
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingtianzhuren 2010-11-15
  • 打赏
  • 举报
回复

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
namespace Plugin
{
public class Cfs
{

public static string ConvertCode(string CodeStr)
{

long CodeLen = 32;
long CodeSpace = 0;
int cecr = 0;
int cecb = 0;
int cec = 0;
Double NewCode = 1;
string CfsStr = "";
try
{
CodeSpace = CodeLen - CodeStr.Length;

if (!(CodeSpace < 1))
{
for (cecr = 1; cecr <= CodeSpace; cecr++)
{
CodeStr += char.ConvertFromUtf32(21);
}
}

long Been = 0;
for (cecb = 1; cecb <= CodeLen; cecb++)
{
Been = CodeLen + ConvertAscii(CodeStr.Substring(cecb - 1, 1)) * cecb;
NewCode = Convert.ToDouble(NewCode * Been);
}

CodeStr = NewCode.ToString().ToUpper();
string NewCode1 = "";

for (cec = 1; cec <= CodeStr.Length; cec++)
{
if (CodeStr.Length - 1 <= cec)
{
NewCode1 += CfsCode(CodeStr.Substring(cec - 1));
}
else
{
NewCode1 += CfsCode(CodeStr.Substring(cec - 1, 3));
}
}

for (cec = 20; cec <= NewCode1.Length - 18; cec += 2)
{
CfsStr += NewCode1.Substring(cec - 1, 1);
}
}
catch(Exception ex)
{ Util.Wlog(ex.ToString());
}
return CfsStr;
}

private static string CfsCode(string Word)
{
string CfsCodeStr = "";
int cc = 0;
for (cc = 1; cc <= Word.Length; cc++)
{
CfsCodeStr = CfsCodeStr + ConvertAscii(Word.Substring(cc - 1, 1));
}
//CfsCodeStr = Conversion.Hex(CfsCodeStr);
CfsCodeStr = string.Format("{0:0x000}", int.Parse(CfsCodeStr));
return CfsCodeStr;
}

private static int ConvertAscii(string text)
{
byte[] array = new byte[1];
array = System.Text.Encoding.ASCII.GetBytes(text);
int asciicode = (int)(array[0]);
return asciicode;
//throw new NotImplementedException();
}

}


}

不知这个C#代码哪里出错了?别人写的VB.NET的源码

Public Class CfsCode

Function Cfs(CodeStr) as string
Dim CodeLen as integer = 32
Dim CodeSpace as long
Dim cecr as integer
Dim cecb as integer
Dim cec as integer
Dim NewCode as Double = 1
Dim CfsStr as string = ""

CodeSpace = CodeLen - Len(CodeStr)

If Not CodeSpace < 1 Then
For cecr = 1 To CodeSpace
CodeStr += Chr(21)
Next
End If

Dim Been as Double
For cecb = 1 To CodeLen
Been = CodeLen + Ctype(Asc(Mid(CodeStr,cecb,1)),integer) * cecb
NewCode = NewCode * Been
Next

CodeStr = Ctype(NewCode,String)
Dim NewCode1 as string = ""

For cec = 1 To Len(CodeStr)
NewCode1 += CfsCode(Mid(CodeStr,cec,3))
Next

For cec = 20 To Len(NewCode1) - 18 Step 2
CfsStr += Mid(NewCode1,cec,1)
Next
Return CfsStr
End Function

Private Function CfsCode(Word) as string
Dim CfsCodeStr as string
Dim cc as integer
For cc = 1 To Len(Word)
CfsCodeStr = CfsCodeStr & Ctype(Asc(Mid(Word,cc,1)),string)
Next
CfsCodeStr = Hex(CfsCodeStr)
Return CfsCodeStr
End Function

End Class


qingtianzhuren 2010-11-13
  • 打赏
  • 举报
回复
貌似不对啊,解出来不一样
兔子-顾问 2010-11-11
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_6c46d6bf0100lvin.html
以上代码未验证

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧