我使用md5函数将一个字符串散列为32位字符串。
str_to_encode = 'this is a test string which I want to encode'
encoded = hashlib.md5(str_to_encode).hexdigest()
我希望能够将这个字符串(即上面例子中的encoded )解码回它的原始值。我不认为这是可能的使用md5 (但如果是,请让我知道),但有没有一个压缩函数,我可以使用它会给我一个32位的字符串结尾,但可以恢复?
编辑:正在编码的字符串是一个url,所以最多只有几百个字符,尽管在大多数情况下会少很多。
谢谢
算法是关系,假设算法f,接收数据d,它将有输出o。如下所示:
f(d) = o
我们有加密算法,这样,使用数据d和publicKey作为输入,我们就可以接收d'作为输出。此外,使用d‘和privateKey,我们可以恢复原始的d。如下所示:
encrypt(d, publicKey) = d'
decrypt(d', privateKey) = d
算法本身就是一种数据。所以问题来了:
是否可以创建一个算法J,该算法J将算法f作为输入并产生一个f',使得:
J(f) = f'
f'(d') = o'
也就是说,当前的数学理论是否排
我把我的照片存储在服务器文件中,名为图像,大约有300多张。在数据库中,我将这些图片分配给ID。
在数据库中就像
ID: 300
photoPath: "images/300.png"
现在,我需要通过随机在网站上显示它们,而无需在刷新之后重复每一次。我在php中随机生成它们。
mysqli_query($con, "SELECT * FROM images ORDER BY rand() LIMIT 1");
$row = mysqli_fetch_assoc($res); // I get that one image's ID and path
现
我是Java新手,我正在用netbeans编写一个密码程序,遇到了一个小问题,要么没有答案,要么我只是在寻找错误的东西。现在的问题是我可以加密我的文本并显示它,但是我不能解密新的加密文本,你会看到。看一看:
public class Main extends javax.swing.JFrame
{
private void encryptBUTActionPerformed(java.awt.event.ActionEvent evt)
{
int encry
我希望有一个函数f( x ),它根据值x在均匀分布中给出好的伪随机数,我知道线性同余生成元,但是这些都是在迭代中工作的,即我提供初始种子,然后逐个得到随机值序列。这不是我想要的,因为如果想得到序列中的200000个数,我必须计算数字1. 199999。我需要一个由一个简单的公式给出的函数,这个公式使用了诸如+,*,mod等基本操作。我也知道散列函数,但我没有找到适合这些需要的函数。我可能会自己想出一些函数,但我想用一些经过测试的方法来给出合适的伪随机值。有这样的东西被利用吗?