任何人都可以建议一个从SVN迁移到TFS的工具吗?优选地,这将是开源的.
更新:我最近从这个问题中了解到,在下面的整个讨论中,我(我确信其他人也这样做)有点令人困惑:我一直称之为彩虹表,实际上称为哈希表.彩虹桌是更复杂的生物,实际上是Hellman Hash Chains的变种.虽然我认为答案仍然是相同的(因为它不归结为密码分析),但有些讨论可能有点偏差.
问题是:" 什么是彩虹表,它们是如何使用的? "
通常,我总是建议使用加密强随机值作为salt,与哈希函数(例如密码)一起使用,例如防止彩虹表攻击.
但实际上盐是随机的加密必需吗?在这方面,任何唯一值(每个用户唯一,例如userId)是否足够?实际上,它会阻止使用单个Rainbow Table来破解系统中的所有(或大多数)密码......
但是缺少熵真的会削弱散列函数的加密强度吗?
注意,我不是在问为什么要使用salt,如何保护它(它不需要),使用单个常量哈希(不要),或者使用什么样的哈希函数.
无论盐是否需要熵.
感谢所有答案到目前为止,但我想集中讨论我(有点)不太熟悉的领域.主要是对密码分析的影响 - 如果有人从密码数学PoV获得一些输入,我会非常感激.
此外,如果还有其他未被考虑的向量,那也是很好的输入(参见@Dave Sherohman指向多个系统).
除此之外,如果您有任何理论,想法或最佳实践 - 请使用证据,攻击情景或经验证据来支持这一点.或者甚至是可接受的权衡的有效考虑因素......我对该主题的最佳实践(资本B资本P)很熟悉,我想证明这实际上提供了什么价值.
编辑:这里有一些非常好的答案,但我认为正如@Dave所说,它归结为Rainbow Tables的常见用户名......以及可能不太常见的名称.但是,如果我的用户名是全局唯一的呢?不一定是我的系统唯一,但每个用户 - 例如电子邮件地址.
没有动力为单个用户构建RT(正如@Dave强调的那样,盐不会保密),这仍然会阻止群集.唯一的问题是我可能在不同的网站上有相同的电子邮件和密码 - 但盐无论如何都不会阻止它.
因此,它回归到密码分析 - 是否需要熵?(我目前的想法是从密码分析的角度来看没有必要,但这是出于其他实际原因.)
security authentication hash cryptography password-protection
调试以下代码时
NSString *var1 = @"blaa";
NSString *var2 = @"blaaaaa";
NSString* script = [NSString stringWithFormat:@"Set_Variable( %s, %s )",var1,var2];
Run Code Online (Sandbox Code Playgroud)
%s脚本中的占位符被有趣的乱码字符替换.你能看到代码中的任何错误吗?
出于各种常见原因,我想对我的ASP.NET应用程序使用跟踪.特别是因为我发现了使用Service Trace Viewer工具的可能性,它允许您以强大的方式检查跟踪.
因为我之前从未使用过这种痕迹,所以我开始研究它.经过一段时间的谷歌,SO和MSDN,我终于明白了事情是如何运作的.但我也发现了一个非常不受欢迎的事情.
在ASP.NET应用程序中使用跟踪时,通过Web请求将跟踪消息组合在一起非常有意义.特别是因为我想使用它的原因之一是研究性能问题.上面提到的工具也通过<Corrleation>在生成的XML文件中使用标记来支持这一点.而这反过来又来自System.Diagnostics.Trace.CorrelationManager.它还允许其他很好的功能,如Activity启动/停止,它提供了更好的跟踪消息分组.很酷,对吗?
我也是如此,直到我开始检查CorrelationManager实际居住的地方.毕竟 - 它是一个静态属性.在玩了一些反射器后,我发现了一些可怕的东西 - 它存储在CallContext!我们不应该在ASP.NET中使用哪种东西,对吧?
所以......我在这里错过了一些东西吗?在ASP.NET中跟踪真的存在根本缺陷吗?
补充:嗯,我有点在自己重写这些东西的边缘.我仍然想使用整洁的工具来探索痕迹.我不应该这样做的原因?也许有更好的东西呢?如果我很快得到答案,那将是非常好的.:)
补充2:我的一位同事证实,这不仅仅是一个理论问题.他在他正在研究的系统中观察到了这一点.所以它已经解决了.我打算建立一个新的小系统,按照我想要的方式做事.:)
补充3:哇,很酷......微软的人们在ASP.NET中使用Correlation Manager时没有发现任何问题.显然我们毕竟没有得到这个bug的修复......
我有一个从单个select语句创建的@XML文档。
<root>
<node>
<node1>
<targetNode>
</targetNode>
</node1>
<node1>
<targetNode>
</targetNode>
</node1>
<node1>
<targetNode>
</targetNode>
</node1>
</node>
<node>
......
</node>
</root>
Run Code Online (Sandbox Code Playgroud)
我想将xsi:nil插入此文档的'targetNode'属性。
@XML.modify( 'insert attribute xsi:nil {"true"} into (root/node/node1/targetNode) [1]')
Run Code Online (Sandbox Code Playgroud)
上面的代码会将属性插入@XML文档中targetNode的第一次出现。但是,insert语句仅在单个节点上起作用。有什么方法可以将此属性插入@XML文档中的targetNode的所有实例中。
通过长堆栈转储,Grails可能有点像熊一样调试.找到问题的根源可能很棘手.我在BootStrap.groovy中做过几次烧伤,例如"def foo = new Foo(a:a,b:b).save()".您最喜欢调试Grails应用程序的技巧是什么?
我试图将一些jquery UI代码放入现有的asp.net应用程序中,并且可以使用帮助...
我有一个按钮,当用户点击它时,我想用两个go/nogo确认按钮弹出一个jquery UI对话框.
这工作除了,当我点击按钮,它打开,然后立即关闭...作为一个新的jquery用户,我相信我只是缺少一些简单的...
这是打开对话框的javascript:
<script type="text/javascript" >
$(function() {
// Cancel Event Dialog Box
$('#CancelDialog').dialog({
autoOpen: false,
width: 500,
buttons: {
"Cancel This Event": function() {$(this).dialog("close");},
"Do Not Cancel": function() {$(this).dialog("close");}
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是调用它的代码:
<asp:Button id="btnCancelMeeting" Text="Cancel Event" runat="server" />
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('#CancelDialog').dialog();
$('#btnCancelMeeting').click(function() {$('#CancelDialog').dialog('open'); });
});
</script>
<div id="CancelDialog" title="Cancel and Event or Meeting"><p>Cancel this event.</p></div>
Run Code Online (Sandbox Code Playgroud)
回顾一下:我点击按钮,我得到了带有两个按钮和我想要的消息的对话框,但它在1秒后自行关闭......我做错了什么?
编辑:好的,现在我想我看到发生了什么......当我点击按钮时,对话框会根据需要弹出,但页面再次从服务器重新加载...这会重置整个页面,包括清除对话.
所以我真正想要发生的是模仿这种行为:
<asp:Button id="btnDelete" Text="Delete Event" runat="server" OnClientClick='javascript:return confirm("Are you sure you would like …Run Code Online (Sandbox Code Playgroud) 我有一个页面,列出新闻文章.为了减少页面的长度,我只想显示一个预告片(文章的前200个单词/ 600个字母),然后显示一个"更多..."链接,当点击时,将扩展其余部分jQuery/Javascript方式的文章.现在,我已经弄明白了,甚至在一些粘贴页面上找到了以下帮助方法,这将确保新闻文章(字符串)不会在一个单词的中间被切断:
def shorten (string, count = 30)
if string.length >= count
shortened = string[0, count]
splitted = shortened.split(/\s/)
words = splitted.length
splitted[0, words-1].join(" ") + ' ...'
else
string
end
end
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我从数据库中获取的新闻文章正文是HTML格式.所以,如果我运气不好,上面的帮助器会在html标签的中间切断我的文章字符串并在那里插入"more ..."字符串(例如在""之间),这将破坏我在页面上的html .
有什么方法可以解决这个问题,还是有插件可以用来从HTML字符串生成摘录/预告片?
我目前正在尝试使用以下代码将对象数组中的数据写入Excel中的范围,其中objData只是一个字符串数组:
private object m = System.Type.Missing;
object[] objData = getDataIWantToWrite();
Range rn_Temp;
rn_Temp = (Range)XlApp.get_Range(RangeName, m);
rn_Temp = rn_Temp.get_Resize(objData.GetUpperBound(), 1);
rn_Temp.value2 = objData;
Run Code Online (Sandbox Code Playgroud)
这几乎可以工作,问题是范围被填满但是每个单元格都获得了第一个项目的值objData.
逆向工作,即
private object m = System.Type.Missing;
object[] objData = new object[x,y]
Range rn_Temp;
rn_Temp = (Range)XlApp.get_Range(RangeName, m);
rn_Temp = rn_Temp.get_Resize(objData.GetUpperBound(), 1);
objData = (object[])rn_Temp.value2;
Run Code Online (Sandbox Code Playgroud)
将返回一个包含工作表中所有值的数组,所以我不确定为什么阅读和赋值的工作方式不同.
有没有人成功地做过这件事?我目前正逐个单元地编写阵列,但它需要处理很多(> 50,000)行,因此非常耗时.