小编Pis*_*3.0的帖子

PHP中的简单加密

我正在构建一个带有源系统的系统,我在'网上提供可用于虚拟宠物的网络.该系统将主要由儿童拥有.因为我希望它可用于绝对的初学者程序员,所以我的系统有几个复杂性限制:它不能使用通常不附带PHP的库,也不能触及数据库或写入其他永久存储器.

当每只宠物被采用时,访客将随机获得该宠物的一系列略有不同的变体之一.变化最初看起来是一样的,但随着时间的推移长大成为不同的宠物.访问者将获得HTML的简短代码,该代码链接到他们宠物的图像.由于服务器端没有永久存储空间,因此用户的图像链接必须包含所有信息,以确定他们最终获得的宠物变体.

目前,URL只包含宠物的ID和用户获得的变体的ID.这样做的问题在于,通过将代码相互比较,用户可以确定其中的哪些人最终得到了相同的变体.由于某些变化比其他变化更少,因此用户可以在差异甚至在视觉上明显之前轻松发现罕见的变化.

我想要的是URL中的详细信息的加密系统.掩盖变体ID的东西,以便每个用户获得具有高概率的不同URL.我想过使用变量ID(3或4位)作为大随机数的低位或高位,但是用户会在其中发现模式.理想情况下,加密系统将进行参数化,以便我的系统的每个安装都使用稍微不同的加密.

PHP的mcrypt库可能会有一些有用的东西,但在主机中似乎并不常见.

我可以在这里使用简单的,参数化的混淆/加密吗?

php encryption

8
推荐指数
2
解决办法
2万
查看次数

MySQL - 如何在WHERE x IN(<subquery>)中使用索引

我正在使用此查询来获取名称以小写字母"a"开头的{客户端}的所有员工:

SELECT * FROM employees 
  WHERE client_id IN (SELECT id FROM clients WHERE name LIKE 'a%')
Run Code Online (Sandbox Code Playgroud)

Column employees.client_id是一个int,有INDEX client_id (index_id).子查询应该IMHO返回一个id-s列表,然后在WHERE子句中使用.

当我EXPLAIN查询时,主查询不使用索引(type:ALL).但是当我EXPLAIN 从子查询(例如SELECT ... WHERE client_id IN (121,184,501))中获取列表时,EXPLAIN切换到type:range,并且此查询的速度提高了50%.

如何使查询使用子查询返回的数据的索引 - 或者,是否有更有效的方法来检索此数据?(将id-list检索到应用程序服务器,加入它并发送第二个查询在这里更加昂贵).

提前致谢.

mysql indexing subquery

8
推荐指数
2
解决办法
1万
查看次数

在字符串比较中是否在PHP二进制安全中===?

PHP函数strcmp,strcasecmp从这个家族的其他是二进制安全的.

运营商=====二进制安全吗?

如果是,应该在二进制安全字符串比较中使用什么:函数或运算符?

(binary-safe:"可以在不改变当前状态的情况下应用于变量的运算符或函数")

php

7
推荐指数
2
解决办法
1416
查看次数

如何限制数据库刷新到磁盘?

我在arm9嵌入式linux平台上使用sqlite数据库.我想减少对磁盘数据库的写入,因为我的磁盘是一个闪存,它需要最少的写周期.所以我尝试将SQLITE_DEFAULT_CACHE_SIZE增加为5000.我的目标是将数据写入缓存,当缓存填满时,自动刷新到磁盘.但是通过增加SQLITE_DEFAULT_CACHE_SIZE,我无法确认这是否有效.我没有看到任何操作变化!我的方式是否正确?有人可以给我一些建议吗?谢谢Aneesh

c++ sqlite

6
推荐指数
1
解决办法
2652
查看次数

让Fiddler工作的DOT背后的魔力是什么?

我花了一段时间才知道我必须在URL中的"localhost"之后添加一个点,以便我可以使用fiddler和我的开发服务器.

为什么我需要把这个点放在这里让fiddler为我的本地工作:

http:// localhost .:1888年/ MyPage.aspx

它代表什么?

谢谢

dns localhost fiddler

6
推荐指数
1
解决办法
1247
查看次数

在通过http上传之前压缩文件

是否可以压缩从客户端浏览器(文件上传)发送到服务器的数据?

闪光灯,银光等技术还可以!

compression http

6
推荐指数
1
解决办法
2522
查看次数

如何从另一个python脚本运行python脚本并获取返回的状态代码?

我对Python和bash都比较陌生.但是,我发现Python比bash更直观,更容易.我有一些bash脚本我已经设法凑齐,但我想用Python脚本替换它们 - 为了便于维护等.

bash脚本本质上运行python脚本,检查返回的状态代码并采取适当的行动(例如,记录消息,触发电子邮件等) - 这是我在大多数情况下可以在Python脚本中重现的功能.

我不确定如何做的一件事是如何从另一个python脚本运行python脚本并获取返回的状态代码.

任何人都可以在这里发布一个片段,它将显示如何从主python脚本'master.py'运行一个小的python脚本'test.py',并在从master.py运行test.py后正确检索返回码?

python bash

6
推荐指数
1
解决办法
2134
查看次数

使用2种不同的哈希函数是检查文件完整性的好方法吗?

我有一个网站,用户可以上传他们的文件; 这些存储在服务器上,其元数据记录在数据库中.我正在实现一些简单的完整性检查,即"这个文件的内容现在是逐字节的,与上传时相同吗?"

一个例子:对于内容userfile.jpg,MD5哈希是39f9031a154dc7ba105eb4f76f1a0fd4和SHA-1哈希是878d8d667721e356bf6646bd2ec21fff50cdd4a9.如果此文件的内容发生更改,但前后具有相同的MD5哈希值,则SHA-1哈希值是否也可能保持不变?(使用散列,有时你可以得到哈希冲突 - 这可能会同时发生两种不同的哈希算法吗?)

或者为一个文件计算两个不同的哈希值没有意义(我应该尝试其他一些机制来验证完整性)?


编辑:我并不是真的担心意外腐败,但我应该阻止用户不加注意地改变文件(生日攻击和朋友).

我可能会选择一个哈希值SHA-512 - 这种检查通常不会成为性能瓶颈,无论如何,"正如Bruce Schneier所说,已经存在足够快速,不安全的系统. - @ MichaelGG评论".

verification hash cryptography

5
推荐指数
1
解决办法
2247
查看次数

用PHP读取.pst文件的内容

是否有可能使用PHP读取.pst文件的内容?

php outlook pst

5
推荐指数
1
解决办法
4437
查看次数

找到哪个驱动器对应于Linux中的哪个USB大容量存储设备

我有几个USB大容量存储闪存驱动器连接到Ubuntu Linux计算机(Ubuntu 10.04.1,内核2.6.32-25-386),我需要以编程方式区分它们(如果可能的话,从bash,但我不害怕编译或者 - 我需要找到哪个块设备对应哪个物理设备(例如/dev/sdb1- > USB端口1中的设备;在我的情况下,一个设备〜一个卷).

换句话说,我知道我有三个硬件设备插入USB端口; 它们中的每一个都作为USB大容量存储设备(如lsusb所示)显示在系统中,创建为块设备(/dev/sdb1)并由UUID(/media/1234-5678)自动安装.

USB device               block device    mountpoint
USB device in port 2.2 <-> /dev/sdb1   <-> /media/1234-5678
Run Code Online (Sandbox Code Playgroud)

不是想找到块设备和mountpoint之间的关系; 我试图找到块设备和USB设备之间的关系,有没有办法?

为什么?磁盘上会有一些写入,完成时间不可预测.我需要给操作员一些指示,例如"你现在可以移除端口2中的磁盘(左起第二个)".我发现哪个物理端口对应于该特定机器上的哪个端口号,并且从挂载点查找块设备很简单; 现在,我无法将逻辑USB端口映射到阻止设备.

我可以看到带有lsusb的磁盘:

Bus 001 Device 058: ID 067b:2517 Prolific Technology, Inc. Mass Storage Device
Bus 001 Device 060: ID 067b:2517 Prolific Technology, Inc. Mass Storage Device
Bus 001 Device 061: ID 067b:2517 Prolific Technology, Inc. Mass Storage Device
Run Code Online (Sandbox Code Playgroud)

我可以看到它们被挂载(通过它们的UUID):

/dev/sdb1 on /media/BC88-15C4 type vfat …
Run Code Online (Sandbox Code Playgroud)

linux bash usb usb-mass-storage

5
推荐指数
1
解决办法
1万
查看次数