我手边有一个有趣的加密问题.我不知道它是否可以解决,但这里有:
数据库包含敏感的用户信息.因此,必须加密用户信息(双向加密).用户具有登录/密码,这些可用于双向加密.现在,加密的设计方式使得即使是查看数据库表的管理员也不应该理解用户信息.
但是,设计必须处理用户可能忘记密码的情况.如果密码用于加密,忘记密码意味着信息丢失 - 不想要.如果用户密码本身使用双向算法(而不是单向散列)与脚本中硬编码的密钥存储在数据库中,则管理员可以通过查看脚本来发现硬编码密钥(管理员当然可以访问到脚本).
有人知道出路吗?
PS:这是一个真正的问题.我的公司是一个绝对的安全狂热者(ISO 27001和所有),我受委托设计一个具有上述功能的系统.顺便说一句,我使用的是PHP脚本和MySQL.
编辑:可能之前不清楚,用户需要每天查看/编辑此用户信息.
在C采访中,我被要求将最后4位的数字的前4位交换掉.(例如,1011 1110应为1110 1011.)
有人有解决方案吗?
假设我需要生成变量来保存用户的一些输入(我不知道它们有多少).如果不使用Array,ArrayList(和其他类型的列表和地图),可我的代码生成(可以说)String有相似的名字(变量X倍String var001,String var002,String var003,等)?如果是,请提供示例代码.
这是我正在维护的一些代码的简化版本:
int SomeFunc()
{
const long lIndex = m_lCurrentIndex;
int nSum = 0;
nSum += m_someArray[lIndex];
nSum += m_someArray[lIndex];
return nSum;
}
Run Code Online (Sandbox Code Playgroud)
lCurrentIndex由另一个线程定期更新.问题是; 将制作m_CurrentIndex的本地副本确保对m_someArray的两次访问都使用相同的索引?
请注意,这是一个简化的例子; 我正在考虑制作本地副本的概念,而不是这里显示的确切代码段.我知道编译器会将值放在寄存器中,但这仍然是本地副本,而不是从lCurrentIndex读取两次.
谢谢!
编辑:初始分配是安全的,在我们的设置中保证两者都是32位.Edit2:它们在32位边界上正确对齐(忘了那个)
所以,我有一个视频源的快照,我进入一个Image,为它抓取一个Graphics对象,然后在图像的右下角绘制一个时间戳.到目前为止没问题.但是,我不能保证文本后面会有什么颜色,所以不管我使用什么画笔,它几乎肯定会与它所绘制的一些图像发生冲突,使文本无法读取.
我想知道是否有人知道一种方式(在.net中的方法,或一个很好的算法),根据它背后的图像确定字符串的最佳颜色.
干杯
鉴于Control类实现了IDisposable,我认为ASP.Net至少能够触发Dispose级联,因为Page在浏览器出门的路上完成了它的生命周期?
简单的问题:是这样的,还是我必须这样做?
我需要在RoR应用程序中将SVG内容转换为光栅图像(最好是PNG).是否存在不涉及ImageMagick的直接方法,或者这是事实上的标准?
除了维基百科(计算机科学中未解决的问题)中提到的那些,还有哪些尚未解决的计算机科学问题?
我想过问这个问题,因为那里的其他伟大思想家可能都不知道存在这样的问题.
(设置为社区维基;请为每个帖子提供一个CS问题)
那些发布在维基百科上的是:
我正在调用proc_open(),我无法捕获写入stderr的进程的输出:
$curFolder = getcwd();
$procDescriptor = array( 2 => array( "pipe", "w" ) );
$cmd = "MyApp.exe -f optimization.csv";
$process = proc_open( $cmd, $procDescriptor, $pipes, $curFolder );
if( is_resource( $process ) == true )
{
$procStatus = proc_get_status( $process );
while( $procStatus['running'] === true )
{
if( !feof( $pipes[2] ) )
{
$logLine = fgets( $pipes[2] );
echo( "Read >${logLine}<" );
}
sleep( 1 );
}
}
Run Code Online (Sandbox Code Playgroud)
该程序挂起在fgets()上.如果我从命令行运行程序,一切正常,即有一些东西写入stderr(我也试过使用stdout得到相同的结果).我在Windows上运行脚本 - Linux上的相同脚本运行顺利.