我正在尝试为站点添加一小部分安全性并对某些ID进行编码.id已经是链表行的连续,因此在db中存储加密效率不高.因此我需要对字符串进行编码和解码.
我从myphpscripts中发现了这个很小的功能,我想知道碰撞的可能性是多少.
我真的不太了解这些事情.我假设我的钥匙越久,碰撞的碰撞就越少.
我最终可能拥有超过1000万个独特的连接ID,并希望确保我不会遇到问题.
function encode($string,$key) {
$key = sha1($key);
$strLen = strlen($string);
$keyLen = strlen($key);
$j=0;
$hash='';
for ($i = 0; $i < $strLen; $i++) {
$ordStr = ord(substr($string,$i,1));
if ($j == $keyLen) { $j = 0; }
$ordKey = ord(substr($key,$j,1));
$j++;
$hash .= strrev(base_convert(dechex($ordStr + $ordKey),16,36));
}
return $hash;
}
Run Code Online (Sandbox Code Playgroud) 我从地址簿文档中了解到我对底层CoreData实现的理解表明,通讯簿应该是线程安全的,并且从多个线程进行查询应该没有问题.但是我很难在文档中找到任何关于线程安全的明确讨论.这引出了一些问题:
我需要针对AddressBook进行几十个查询(一些复杂的),并且我正在使用NSOperation在后台线程上执行此操作以避免阻止UI(它当前正在执行).我的基本问题是,将最大并发操作设置为大于1的值是否有意义,以及如果应用程序也可能同时在另一个线程上写入AddressBook,是否存在任何危险.
好的一个非常简单的问题..在c ++中似乎有用但在Objective-c中我似乎很难用它:S ..如果你想比较两个数组它应该是这样的东西吧
for ( int i = 0; i < [appdelegate.nicearray count]; i++ )
{
if ( appdelegate.nicearray[i] == appdelegate.exercarray[i] )
{
NSLog(@"the same elements in this selection");
}
}
Run Code Online (Sandbox Code Playgroud)
究竟是什么问题?
我一直在探索Python可用的加密模块,我发现3:ezPyCrypt,yawPyCrypt和KeyCzar(它实际上支持几种语言,但Python包含在其中).前两个依赖于PyCrypto模块.
我缺少选择吗?是否有一个明确的领跑者的轻松和功能,还是只是降低到一个舒适的方式?
我目前倾向于KeyCzar,ezPyCrypt紧随其后.
我将使用该库进行数字签名签名和验证,并可能用于密钥创建(尽管如果我必须为此功能调用其他内容,我不会哭).
我正在使用Python 3.x并可以访问GPG.
我想查看内部网页,因此我无法直接使用W3C验证服务.我设法在本地运行XHTML验证器,但是,我遇到了css-validator的一些问题.我真的不想设置Tomcat或Jigsaw以便能够运行Java servlet,并且命令行选项给我一个错误消息
Exception in thread "main" java.lang.NoClassDefFoundError:
org.w3c.tools.resources.ProtocolException at
org.w3c.css.css.CssValidator.main(CssValidator.java:164)
Run Code Online (Sandbox Code Playgroud)
如何在Linux机器上验证本地CSS?
我试图在SQL服务器中编写一个参数化查询,该参数使用参数值作为XPath的一部分,但它似乎不像我期望的那样工作.这是我的样本:
create table ##example (xmltest xml)
declare @LanguagePath varchar(75)
set @LanguagePath = '(/languages/language[@id="en-US"])[1]'
insert into ##example
values ('<languages>
<language id="en-US">c</language>
<language id="es-ES">c</language>
</languages>')
insert into ##example
values ('<languages>
<language id="en-US">b</language>
<language id="es-ES">b</language>
</languages>')
insert into ##example
values ('<languages>
<language id="en-US">a</language>
<language id="es-ES">a</language>
</languages>')
--This is a working statement:
--select * from ##example
--order by xmltest.value('(/languages/language[@id="en-US"])[1]', 'varchar')
declare @SQL nvarchar(4000)
set @SQL = '
select * from ##example
order by xmltest.value(@LanguagePath1, ''varchar'')
'
exec sp_executesql @SQL, N'@LanguagePath1 varchar(75)', @LanguagePath1 = @LanguagePath; …Run Code Online (Sandbox Code Playgroud) 如何在linq中选择实体来从列表中选择带有键的行?像这样的东西:
var orderKeys = new int[] { 1, 12, 306, 284, 50047};
var orders = (from order in context.Orders
where (order.Key in orderKeys)
select order).ToList();
Assert.AreEqual(orderKeys.Count, orders.Count);
Run Code Online (Sandbox Code Playgroud)
我尝试使用一些答案中提到的Contains方法但它不起作用并抛出此异常:
LINQ to Entities无法识别方法'Boolean Contains [Int32](System.Collections.Generic.IEnumerable`1 [System.Int32],Int32)'方法,并且此方法无法转换为商店表达式.
我知道这很傻但我不能克服好奇心.是否可以编写一个shell脚本来格式化一段java代码?
例如,如果用户在代码中写入:
public class Super{
public static void main(String[] args){
System.out.println("Hello world");
int a=0;
if(a==100)
{
System.out.println("Hello world");
}
else
{
System.out.println("Hello world with else");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想写一个shell脚本,它会使代码像这样.
public class Super
{
public static void main(String[] args)
{
System.out.println("Hello world");
int a=0;
if(a==100){
System.out.println("Hello world");
}
else{
System.out.println("Hello world with else");
}
}
Run Code Online (Sandbox Code Playgroud)
确切地说,我们应该改变花括号的格式.如果是try/catch或控制结构,我们应该将它改为同一行,如果它是函数/方法/类,它应该在下一行.我对sed和awk知之甚少,它可以很容易地完成这个任务.我也知道这可以用eclipse完成.
我在.dat文件中有一组db4o格式的对象.该文件中的对象是OldNamespace.MyObject,OldAssemblyName.
问题是我已经将命名空间和程序集重命名为更永久的东西.短重命名集和命名空间(这是我在做什么),有没有打开的对象到新的组装/命名空间名称的方式?
或者我是否永远坚持使用"MyTest3"作为程序集名称和命名空间?!
我在环境/ test.rb中指定了default_url_options
config.action_mailer.default_url_options = { :host => "www.xyu.at" }
Run Code Online (Sandbox Code Playgroud)
这是非常好的,在我的黄瓜故事中,我测试用户注册,用户激活链接生成正确
invitation_activation_url(1)
=> "www.xyu.at/signup/1231hj23jh23"
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试按照电子邮件中提供的链接时,使用features/steps/user_steps.rb中的以下代码(使用来自http://github.com/bmabey/email-spec/tree/master的 email-rspec ):
When /^I follow the invitation link$/ do
When 'I follow "'+invitation_activation_url(1) + '" in the email'
end
Run Code Online (Sandbox Code Playgroud)
这里使用default-host创建url:
invitation_activation_url(1)
=> "www.example.com/signup/1231hj23jh23"
Run Code Online (Sandbox Code Playgroud)
有谁能够帮我?我不知道我做错了什么......
谢谢!
编辑:
这似乎与该方法有关
current_url
Run Code Online (Sandbox Code Playgroud)
但我不知道它来自哪里..?
编辑:
我在我的features/support/env.rb中指定了正确的环境
ENV["RAILS_ENV"] ||= "test"
Run Code Online (Sandbox Code Playgroud)
编辑:
我的临时解决方案是,edbond说,
invitation_activation_url(1, :host => "www.xyz.at")
=> "www.xyz.at/signup/1231hj23jh23"
Run Code Online (Sandbox Code Playgroud)
但我不想以这种方式明确命名域名(我已经在我的环境/ test.rb文件中指定了它 - 这样它就不会干了)
c# ×2
cocoa ×2
.net ×1
addressbook ×1
arrays ×1
compare ×1
cryptography ×1
css ×1
db4o ×1
encryption ×1
hash ×1
java ×1
linq ×1
linux ×1
objective-c ×1
python ×1
routing ×1
ruby ×1
scripting ×1
security ×1
shell ×1
sql ×1
sql-server ×1
unix ×1
validation ×1
xml ×1