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

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

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

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

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

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

如果您期望相对较低的复杂程度,那么您可以进行非常简单的“xor”加密,并将密钥“存储”为URL的一部分.然后你可以使用PHP的rand()或/ dev / random或其他任何东西来生成密钥.

低级别的用户不会轻易发现他们需要做的只是他们的宠物ID的下半部分和上半部分,以获得可以与他们的朋友比较的值.我猜大多数能够认识到这一点的人都不会花时间去弄明白,而且那些人无论如何都不在你的目标受众之外.

编辑:如果不明显,我说你给每个宠物一个不同的钥匙(因为给同一个不会解决你的问题).因此,如果宠物变异(petvar)是16位数,则生成16位随机数(rnd),然后执行此操作:petvar =(petvar ^ rnd)<< 16 | RND;然后你可以反转那个操作来提取rnd然后是petvar ^ rnd,然后再次xor再次得到原始的petvar.

PHP中的简单加密的更多相关文章

  1. Swift(iOS)和PHP中AES256加密的结果不同

    我在AES256工作,能够使用不安全的渠道在iOS和PHP之间加密/解密.我已经看到很多类似的问题围绕密钥大小,模式(CBC或ECB),随机iv的使用等等.但在这种情况下,我发现了一个奇怪的行为,如下所示.两种环境中的配置:–密钥:32字节(256位)–块大小:128位(标准)–iv:16字节(静态用于测试目的)–模式:CBC如果我加密16或32字节的文本(以匹配AES块大小),Swift和PHP

  2. PHP 加密 Password Hashing API基础知识点

    在本篇文章里小编给大家分享的是一篇关于PHP 加密 Password Hashing API基础知识点,有兴趣的朋友们可以学习下。

  3. 在PHP文件中存储加密密钥的安全性

    所以我使用mcrypt加密数据,将其存储在数据库中并对其进行解密.我想知道在public_html目录之外的PHP文件中存储加密密钥是否安全?将其存储在文件中的原因是它需要用于多个加密,以便多个用户可以解密某些数据,并且我认为将其存储在文件中比在数据库表中更安全,就在加密旁边数据.什么是潜在的安全风险?是否有可能让黑客获得对此文件的访问权限,从而获得密钥?

  4. php – Codeigniter:如何在将表单提交给控制器之前加密密码?

    我有一个简单的html登录表单当我提交表格并在控制器中这里的问题,它显示了普通密码,如果我在控制器中键入123456,我得到123456.>这是安全问题吗?>任何人都可以通过wireshark等网络监控工具获取密码吗?在发送到控制器之前,我可以在视图中加密密码吗?

  5. php – 加密/解密与MySQL数据库之间的密码

    我开始为我的网站创建一个用户系统,我想要做的是加密密码,而不是明文.我正在使用PHP/MysqL,所以我认为crypt()是一个很好的起点.但是,我对这样的密码学并不陌生,而且我很难理解它是如何工作的.有人知道如何在最简单的层面上实现密码存储为加密字符串的方式,但总是能够解密,没有安全问题?

  6. php – Zend Mail Gmail SMTP

    嗨,我正在尝试从Zend_Mail模块通过gmail发送一些电子邮件.这是我的代码:错误:警告:stream_socket_enable_crypto()[streams.crypto]:此流不支持206行/library/Zend/Mail/Protocol/Smtp.PHP中的SSL/加密无法通过TLS连接我试着告诉我的托管服务提供商在phi.ini中启用openssl.dll但他们说这不是必

  7. 你能将php crypt()的输出转换为有效的MD5吗?

    我有一些使用PHPfunctioncrypt()加密的字符串.输出看起来像这样:虽然我相信crypt()正在使用MD5算法,但输出不是有效的MD5哈希值.有没有办法将生成的哈希值转换为有效的MD5哈希值?更新:感谢回复到目前为止的答案.我很确定使用的crypt函数是使用某种MD5算法.我要做的是将我拥有的输出转换为MD5哈希,如下所示:有没有办法从我有的哈希转换成上面的哈希?

  8. php – 最好的方法来保护数据库连接字符串?

    我正在PHP中编写一组数据库驱动的应用程序.这些应用程序将作为自己的用户在Linux服务器上运行.其他用户有时可能会在系统上,但访问权限非常受控.其他服务器,他们根本无法访问.我还将向需要编写使用DBI和我写的一组函数访问数据库的Perl脚本的开发人员公开一个限制存储过程API.我的问题是什么最好的方式来保护配置文件中有连接字符串?

  9. php – 在nodejs中加密

    更新:varcode=Crypto.createHmac.update.digest;你想要使用createHmac函数.

  10. 用PHP和MySQL解析我的哈希

    )以及PHP手册中的其他内容,但不知道如何存储和检索密码.所以,这是我所了解的全部:之后,我失去了盐.检索密码没有盐很容易,但盐混淆了我.我从哪里获得$salt的价值,特别是如果它是独一无二的和安全的?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部