我正在构建一个Web服务,需要我生成自定义会话和随机密码等.
我想知道是否制作静态类并为整个网站使用1个静态RNGCryptoServiceProvider实例是个好主意?1.来自多个http请求实例的线程是否安全?2.安全吗?如果我允许某人在很短的时间内生成许多会话,是否有可能找出RNG的状态并预测下一个会话?
在我的服务中,其他用户知道有人登录时,我最初创建了一个新的RNGCryptoServiceProvider,当他们登录生成会话时,但我担心的是,如果这是基于当前的日期时间,理论上不可能只有一个人需要通过几千个会话"猜测"另一个用户的会话,如果他们大致知道他们登录的第二个?
public static class random
{
private static RandomNumberGenerator _rng;
protected static RandomNumberGenerator rng
{
get
{
if (_rng == null) _rng = new RNGCryptoServiceProvider();
return _rng;
}
}
public static byte[] Bytes(int number)
{
var value = new byte[number];
rng.GetBytes(value);
return value;
}
public static byte Byte { get { return Bytes(1)[0]; } }
public static int Int { get { return BitConverter.ToInt32(Bytes(4), 0); } }
public static long Long { get { return BitConverter.ToInt64(Bytes(8), 0); } …Run Code Online (Sandbox Code Playgroud) 为什么没有任何Javascript分布式计算框架/项目?这个想法对我来说非常棒,因为:
请分享您对此主题的看法.
编辑:另外,您认为哪种问题适合JSDC?
例如,GIMPS无法实现.
这就是我想要做的.
用户(a):在两个字段(描述-1)和(描述-2)中输入数据.
用户(b)在相反的字段中输入类似的数据.
用户(a)或(b)在两个字段上搜索都会找到匹配项.
一个很好的类比是约会搜索.用户(a)输入他们自己的描述和他们正在寻找的匹配,并且用户(b)输入他们自己的描述和他们正在寻找的匹配,并且两者将能够进行搜索并找到匹配.
所以在psuedo查询英文...
从数据中选择名称,其中me ='target'和target ='me'
问题是,该领域的一些词语将匹配,但不是全部.
我有一个系统,需要一个唯一的6位数代码来表示一个对象,我正在考虑一个很好的算法来生成它们.以下是预先要求:
我有一个想法听起来像它会工作,但我在数学上不够好,无法弄清楚如何实现它:如果我从0开始并增加N,然后转换为基数20,似乎应该是N的一些值,让我可以在重复任何值之前计算0-63,999,999中的每个值.
例如,使用N = 3(因此10 mod 3)从0到9:0,3,6,9,2,5,8,1,4,7.
是否有一些神奇的数学方法可以计算出一些较大数字的N值,这些数值能够计算整个范围而不重复?理想情况下,我选择的数字会在集合周围跳跃,这样就不会有明显的模式,但我不确定它是多么可能.
或者,一个保证0-64百万的唯一性的散列算法可以工作,但我太愚蠢了,不知道这是否可行.
language-agnostic puzzle algorithm math hash-code-uniqueness
我目前正在编写一个c ++控制台应用程序,它定期抓取鼠标位置并将其发送到另一个可视应用程序,用于实时驱动一些3D图形.可视应用程序是封闭源代码,无法在其有限的插件功能之外进行更改.
目前我正在使用GetCursorPos()函数,该函数既简单又快速,但我遇到的问题是所有数据都是根据1920x1600的当前屏幕分辨率进行剪裁,以便所有x值都在0到1920之间无论鼠标移动多远,所有y值都在0到1600之间.
我需要在屏幕边缘剪切之前获取鼠标位置,或者可能用于计算当前位置的增量.
我已经看到了一些对Windows MouseMove事件的引用,但我真的不想实现一个窗口使其工作或特别是让它作为活动来接收这些事件.
我在Windows环境中工作,语言变化是不可行的.
我来自Web编程背景(PHP,Perl,HTML,CSS,Javascript和Actionscript).
但我对编程很感兴趣.我想知道人们如何在概念上打破那里的技术汤?
那里有哪些语言,但更重要的是为什么他们在那里?他们试图解决哪些域名问题?我很想听听人们对这个问题的看法.
例如,如果你正在和那些从未听说过Haskell的编程感兴趣的人交谈,你会用几句话说一下它为什么重要?Python,Ruby,C,ObjC,C++,C#,HaXe,Lisp,Scheme,Java等也是如此.
您使用哪种语言以及他们为您解决的具体问题是什么?请酌情在讨论中包含重要的框架或库.但我想主要关注语言本身及其相对优势和劣势.虽然我当然认识到很难谈论像Javascript之类的东西,而不是谈论AJAX,jQuery,Rico以及所有使它变得有趣和有用的各种框架.
默默无闻和有趣用例的奖励积分.
首先我使用python写整数:
out.write( struct.pack(">i", int(i)) );
然后我用DataInputStream.readInt()Java 读取整数.
我工作但是当它试图读取数字10,也可能是其他一些数字时,它开始读取垃圾.
阅读数字:
0, 4, 5, 0, 5, 13, 10, 1, 5, 6
Java读取:
0, 4, 5, 0, 5, 13, 167772160, 16777216, 83886080
我究竟做错了什么?
标题可能不太清楚.我有以下例子:
Authenticator对象使用凭据对用户进行身份验证.它返回一个AuthResult对象.此AuthResult对象表示身份验证成功,或者失败(如果是,为什么失败,例如找不到用户名).
我怎么能在测试中说出这个?'testShouldReturnAuthObjectWithStatusSuccessOnValidLogin'?
我有这样的事情:
class Vehicle
def self.set_color(input)
if %w{blue red green}.include?(input)
input
else
raise "Bad color"
end
end
end
class Car < Vehicle
def make_car
begin
my_color = Vehicle.set_color("orange")
rescue
puts "you screwed the pooch"
end
end
end
class CarTest < Test::Unit::TestCase
def test_number_one
c = Car.new
c.make_car
end
end
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,我的测试是提高异常并停止执行而不是捕获并输出"你搞砸了小狗".知道为什么会这样,以及如何解决它?
谢谢!
我想知道,为什么在没有包含胶水代码的情况下让程序在许多操作系统(如Windows和Linux)中运行太难了.它们都共享相同的架构(x86),所以我认为它应该很简单.此外,C是标准化的,那么为什么这些操作系统的实现不同?为什么难以遵循标准并为所有操作系统实现通用库?
我用C编程了将近两年,目前我使用glib来实现可移植性.
我不是在寻找这个问题的解决方案,我已经为此目的使用了glib.但是我想知道为什么它是必要的,为什么制造一个没有差异的C库是很困难的.
[加]
例如,当我在C/Glib中编写程序时,我使用gchar/gint等类型确实是C基元类型,在wikipedia中关于glib,它说:
"特征
在基本层面上,GLib提供了类型定义,取代了C原型char,int,float等,以提高可移植性"
为什么C原始类型不可移植和整个语言?
感谢所有的答案.