我一直在寻找一种方法来在使用预定密钥的C#中散列给定字符串.
在我通过互联网尝试找到一个例子的冒险中,我看到了许多MD5CryptoServiceProvider示例,这些示例似乎使用了机器的默认密钥,但没有一个应用特定密钥.我需要一个特定的密钥来编码数据,以便将其同步到其他人的服务器.我给他们一个散列字符串和一个ID号,然后他们使用它来分析数据并向我返回一个类似的集合.所以无论如何都要通过一个与两者一致的特定键来使md5散列.
我希望这可以在C#中完成,但是如果用库不可能你可以使用像php或asp这样的网络语言吗?
编辑:误解了我被抛入的场景,经过一段时间的坐着,想到为什么他们会让我使用一个键,看来他们想要一个附加在字符串末尾的键并进行哈希处理.这样,服务器可以附加它所具有的密钥以及传递的数据,以确保其是有效的访问计算机.无论如何......谢谢所有^ _ ^
编辑2:正如我在下面的评论所说,这是"盐腌"这个词我没有注意到.噢,没有方向就被抛入新事物的乐趣.
我最近偶然发现了从1表中选择关系详细信息并插入另一个表的问题,我希望有人可以提供帮助.
我有一个表结构如下:
ID (PK) Name ParentID<br>
1 Myname 0<br>
2 nametwo 1<br>
3 namethree 2
Run Code Online (Sandbox Code Playgroud)
例如
这是我需要从中选择并获取所有关系数据的表.因为可以有无限数量的子链接(我可以为此创建一个函数来创建循环吗?)
然后,一旦我有所有数据,我需要插入到另一个表中,ID现在必须改变,因为id必须按顺序排列(例如,我不能将id"2"作为例如3的子),我希望我可以使用相同的功能来选择插入.
我有一个想要创建的控件.这是我要完成的一个简单示例.
我希望控件包含一个按钮.
Button b = new Button();
b.Text = "Test";
b.Click += new EventHandler(b_Click);
this.Controls.Add(b);
Run Code Online (Sandbox Code Playgroud)
现在,控件呈现正常,按钮显示在页面上.我遇到的问题的核心是b_Click事件处理程序永远不会被触发.
protected void b_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
这里的任何帮助将不胜感激.我不想在这里使用用户控件纯粹是出于自私的原因,并希望将其完全封装在一个DLL中.
提前致谢.
编辑**
namespace ClassLibrary1
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
public class WebCustomControl1 : WebControl
{
protected override void CreateChildControls()
{
Button b = new Button();
b.ID = "button";
b.Text = "Click Me";
b.Click += new EventHandler(b_Click);
this.Controls.Add(b);
base.CreateChildControls();
}
protected void b_Click(object sender, EventArgs e)
{
this.Controls.Add(new LiteralControl("<p>Click!</p>"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以从评论中我试过这个.最简单的例子,仍然没有去.有什么东西我从根本上失踪了吗?
似乎jQuery.browser在最新的jQuery中已被弃用.该文档建议我使用jQuery.support.我应该使用哪种支持测试来检查当前浏览器是否为Firefox?
我正在尝试开发一个读取外部程序标准输出的类(使用Process,Runtime.getRuntime().exec(cmdLine,env,dir)的实例).程序在过程中接受用户输入,并且在给出有效输入之前不会继续; 这似乎导致我尝试读取其输出的方式出现问题:
egm.execute(); // run external the program with specified arguments
BufferedInputStream stdout = new BufferedInputStream(egm.getInputStream());
BufferedInputStream stderr = new BufferedInputStream(egm.getErrorStream());
BufferedOutputStream stdin = new BufferedOutputStream(egm.getOutputStream());
int c; //standard output input stream
int e; //standadr error input stream
while((c=stdout.read()) != -1) //<-- the Java class stops here, waiting for input?
{
egm.processStdOutStream((char)c);
}
while((e=stderr.read()) != -1)
{
egm.processStdErrStream((char)e);
}
//...
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题,以便程序接收有效的输入并继续?解决这个问题的任何帮助都会很棒!
我有一个解决方案,我想在TFS上构建.我想更新所有适当文件的版本,我一直在努力完成这项工作.关于如何做到这一点有很多链接,但由于一个小问题,它们都不适合我...范围.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<Target Name="DesktopBuild">
<CallTarget Targets="GetFiles" />
<Message Text="CSFiles: '@(CSFiles)'" />
</Target>
<Target Name="GetFiles">
<ItemGroup>
<CSFiles Include="**\AssemblyInfo.cs" />
</ItemGroup>
<Message Text="CSFiles: '@(CSFiles)'" />
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
我的树看起来像这样:
当我从解决方案文件夹运行"c:\ Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe test.proj"时...我得到以下输出:
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3074]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 7/6/2009 3:54:10 PM.
Project "D:\src\test.proj" on node 0 (default targets).
CSFiles: 'application\Properties\AssemblyInfo.cs'
DesktopBuild:
CSFiles: ''
Done Building Project …Run Code Online (Sandbox Code Playgroud) 我有一个有很多内容的UITextView.我有一个按钮,允许UITextView在NSTimer循环中自动滚动+10像素:
scrollPoint = CGPointMake(scrollPoint.x, scrollPoint.y + 10);
[textView setContentOffset:scrollPoint animated:YES];
Run Code Online (Sandbox Code Playgroud)
这非常有效,因为动画使滚动相当平滑.我希望允许用户通过用手指滚动来向前或向后跳过,但是由于滚动动画后的这段代码,滚动会快速回到自动滚动的位置.
我需要在手动滚动后重置scrollPoint变量,但我不知道该怎么做.我已经尝试过实现委托方法
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
Run Code Online (Sandbox Code Playgroud)
但是这个方法也会激活我的自动滚动.
有任何想法吗?
我有合理的理由去做我想解释的事情.我有一个现有网站说abc.com有常规页面等等所有用PHP编写的.现在我想对网站进行AJAX化,即当用户点击链接时,它应该使用AJAX获取链接并替换页面内容.这是简单的部分,我可以使用jQuery get函数实现它.
现在问题出现在用户为页面添加书签时.我可以使用哈希标记来指定用户是否在另一个页面上,但是不是使用javascript再次获取新页面,是否可以在调用页面时使用PHP直接获取它.
能否请您给我一个如何实现上述目标的大纲.此功能类似于Facebook.
感谢您的时间.
它应该解析EDMX文件并创建一个moch/fake用于单元测试.最简单的集成是使用我们在VS IDE中已经拥有的T4.
有人在网上看过吗?
或者也许是自己写的?
或者OSS正在进行中吗?
任何人?
关于浮点表示,已经向SO发布了几个问题.例如,十进制数0.1没有精确的二进制表示,因此使用==运算符将其与另一个浮点数进行比较是危险的.我理解浮点表示的原理.
我不明白的是,从数学的角度来看,为什么小数点右边的数字比左边的数字更"特殊"?
例如,数字61.0具有精确的二进制表示,因为任何数字的整数部分始终是精确的.但数字6.10并不准确.我所做的只是将十进制移动到一个地方,然后我突然从Exactopia转到了Inexactville.在数学上,两个数字之间应该没有内在差异 - 它们只是数字.
相比之下,如果我将小数位移到另一个方向以产生数字610,我仍然在Exactopia中.我可以继续向那个方向前进(6100,610000000,610000000000000),它们仍然是精确,准确,准确的.但是一旦小数越过某个阈值,数字就不再精确了.
这是怎么回事?
编辑:为了澄清,我想远离关于行业标准表示的讨论,例如IEEE,并坚持我认为是数学上"纯粹"的方式.在基数10中,位置值为:
... 1000 100 10 1 1/10 1/100 ...
Run Code Online (Sandbox Code Playgroud)
在二进制文件中,它们将是:
... 8 4 2 1 1/2 1/4 1/8 ...
Run Code Online (Sandbox Code Playgroud)
对这些数字也没有任何限制.位置无限增加到左侧和右侧.
c# ×3
asp.net ×2
jquery ×2
ajax ×1
events ×1
hash ×1
io ×1
iphone ×1
java ×1
javascript ×1
math ×1
md5 ×1
mocking ×1
msbuild ×1
php ×1
postback ×1
scope ×1
sql-server ×1
t4 ×1
team-build ×1
tfs ×1
uiscrollview ×1
uitextview ×1
unit-testing ×1