我正在修改现有的安全代码.规范很清楚,有示例代码,但我不是加密专家.实际上,示例代码中有一个免责声明,实际上是"不要逐字使用此代码".
在审核我要修改的代码(这应该是完整的功能)时,我遇到了这个用于生成挑战的小宝石:
static uint16 randomSeed;
...
uint16 GetRandomValue(void)
{
return randomSeed++;/* This is not a good example of very random generation :o) */
}
Run Code Online (Sandbox Code Playgroud)
当然,我立即做的第一件事就是将它传递到办公室,这样我们都可以大笑.
生成此代码的程序员知道它不是一个好的算法(如评论所示),但我不认为他们理解安全隐患.他们甚至懒得在主循环中调用它,所以它至少会变成一个自由运行的计数器 - 仍然不理想,但超出此范围的世界.
但是,我知道我生产的代码同样会导致一个真正的安全大师轻笑或震惊.
-亚当
我正在尝试实现这样一个简单的类:
public static void main(String args[])
{
try
{
myClass test = new Thread(new myClass(stuff));
test.start();
test.join();
}
catch (Throwable t) { }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在myClass中包含print()方法并使用它时,我在java.lang.Thread类中得到一个"找不到符号".我真的不需要把它作为一个线程,但我想,只是为了测试它.如果我想让print()方法起作用,我是否需要更改它?
编辑:对不起,我刚刚意识到我可以在run()函数lol中调用print().为什么我不能在外面打电话呢?这对我来说没有意义.如果我添加synchronized或者某些东西我可以调用run/class之外的函数吗?
编辑2:对不起,我在这里误写了这些名字.
编辑3:我目前正在这样做:
Thread test = new Thread(new myClass(stuff));
teste.start();
teste.join();
Run Code Online (Sandbox Code Playgroud)
如果我使用新的Runner,似乎我不能使用start()和join().有办法解决这个问题吗?
编辑4:好的,让我们再试一次:我有myEnvironment,这是一个类,我有myAgent,这是另一个类.myAgent是主题.myAgent需要myEnvironment,所以我将它作为参数传递给构造函数.但是,我不能通过扩展Thread来做到这一点,因为找不到构造函数(myEnvironment).我是否必须通过另一个函数设置myEnvironment,还是可以使用构造函数传递它?
我需要连接到我写的WCF服务,而不必为我正在编写的客户端应用程序部署app.config.但是,我一直在努力弄清楚如何在代码中设置客户端的东西.这是我已经得到的...有没有人有任何想法我需要做什么才能使这个工作?我真的很感激.
这是我到目前为止的代码:
String baseAddress = "http://localhost/CommService";
WSDualHttpBinding binding = new WSDualHttpBinding();
binding.Name = "WSDualHttpBinding_ICommService";
binding.ClientBaseAddress = new Uri(baseAddress);
binding.ReliableSession.Ordered = true;
binding.ReliableSession.InactivityTimeout = new TimeSpan(0, 10, 0);
binding.ReceiveTimeout = new TimeSpan(0, 10, 0);
binding.SendTimeout = new TimeSpan(0, 0, 5);
InstanceContext context = new InstanceContext(this);
client = new CommServiceClient(context, "WSDualHttpBinding_ICommService");
client.Endpoint.Binding = binding;
Run Code Online (Sandbox Code Playgroud)
这是我的客户端应用程序的app.config:
<system.serviceModel>
<bindings>
<wsDualHttpBinding>
<binding name="WSDualHttpBinding_ICommService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:00:05"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" …Run Code Online (Sandbox Code Playgroud) 重要提示:这个问题实际上并不是一个ASP.NET问题.任何对URL都有所了解的人都可以回答.我恰好使用ASP.NET路由,因此包含了这个细节.
简而言之,我的问题是:
"我应该设计哪种URL格式,我可以让外部各方到达我的网站上的特定位置,以便将来证明.[我是创建这些'REST'网址的新手]."
我需要一个ASP.NET路由URL,该URL将提供给第三方用于跟踪营销活动.它本质上是一个"网关"URL,可将用户重定向到我们网站上的特定页面,该页面可能是主页,特殊竞赛或特定产品.
除了试图捕捉的引荐我将需要接受PARTNERID,竞选号码和其他可能的参数.我想提供一个这样做的路线,但我想第一次就把它弄好,因为很明显,一旦外部使用它,我就不能轻易改变它.
这样的事情怎么样?
routes.MapRoute(
"3rd-party-campaign-route",
"campaign/{destination}/{partnerid}/{campaignid}/{custom}",
new
{
controller = "Campaign",
action = "Redirect",
custom = (string)null // optional so we need to set it null
}
);
Run Code Online (Sandbox Code Playgroud)
广告系列:可能不希望在实际链接中使用"广告系列"一词 - 因为用户会在网址栏中看到它.我可能会把它变成像'c'这样神秘的东西.
destination:指示我们网站上链接将用户带到哪个页面.例如PR将用户引导到产品页面.
partnerid:我们分配的公司的ID - 例如堆栈溢出的SO.
campaignid:广告系列ID,例如123 - 每个合作伙伴都是唯一的.我已经意识到,我认为我希望第三方公司能够自己管理广告系列ID,而不是我们提供一个网站来"制作广告系列".虽然我还不完全确定.
自定义:自定义数据(可选).我可以在不破坏现有URL的情况下添加更多自定义数据参数
注意:我有"目的地"的原因是因为广告系列ID是由客户决定的,因此他们还需要告诉我们该广告系列的目的地在哪里.或者,他们可以"注册"我们的活动.这可能是一个更好的解决方案,以避免人们放入随机的广告系列ID,但我并不过分担心,我认为这个系统提供了更大的灵活性.
此外,我们想知道他们用来链接我们的图像(因此我们可以跟踪哪个横幅效果最好).我认为这是一个新的竞选活动,而不是自定义数据领域,但我不确定.
目前我使用的是非常原始的URL,例如http://example.com?cid=123.在这种情况下,广告系列ID需要发布给第三方,它不是一个非常灵活的系统.我想立即转向新客户的新系统.
关于未来打样这个系统的任何想法?我可能错过了什么?我知道我总是可以添加新格式,但如果这是一个好主意我想尽可能多地使用这种格式.
任何Common Lisp(内置)函数是否返回超过2个值?我知道许多人返回2,但我想不到一个返回3.
(我在这里看到关于返回超过2个值的评论,并试图想到CL做到这一点的情况,但不能.)
我正在编写一个脚本,必须移动一些文件,但不幸的是它似乎并没有os.path很好的国际化.当我有希伯来语命名的文件时,有问题.这是目录内容的屏幕截图:

(来源:thegreenplace.net)
现在考虑这个代码遍历此目录中的文件:
files = os.listdir('test_source')
for f in files:
pf = os.path.join('test_source', f)
print pf, os.path.exists(pf)
Run Code Online (Sandbox Code Playgroud)
输出是:
test_source\ex True
test_source\joe True
test_source\mie.txt True
test_source\__()'''.txt True
test_source\????.txt False
Run Code Online (Sandbox Code Playgroud)
注意如何os.path.exists认为希伯来语命名的文件甚至不存在?我怎样才能解决这个问题?
Windows XP Home SP2上的ActivePython 2.5.2
我正在尝试对别名列执行分组操作(下面的示例),但无法确定正确的语法.
SELECT LastName + ', ' + FirstName AS 'FullName'
FROM customers
GROUP BY 'FullName'
Run Code Online (Sandbox Code Playgroud)
什么是正确的语法?
进一步扩展问题(我没想到我收到的答案)解决方案是否仍然适用于CASEed别名列?
SELECT
CASE
WHEN LastName IS NULL THEN FirstName
WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName
END AS 'FullName'
FROM customers
GROUP BY
LastName, FirstName
Run Code Online (Sandbox Code Playgroud)
答案是肯定的,它仍然适用.
如何用您喜欢的语言遍历目录树?
在不同的操作系统中遍历目录树需要了解什么?在不同的文件系统上?
您最喜欢的库/模块是什么帮助遍历目录树?
app-config ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
common-lisp ×1
cryptography ×1
delphi ×1
excel ×1
filesystems ×1
hebrew ×1
interop ×1
java ×1
prng ×1
python ×1
rest ×1
return-value ×1
routing ×1
security ×1
sql ×1
sql-server ×1
syntax ×1
t-sql ×1
wcf ×1