我有一个常规请求,例如:
http://myserver.com/index.php?var1=85842.23&var2=212.235&name=Teddie&valid=1
Run Code Online (Sandbox Code Playgroud)
我希望那些$ _GET参数加密到类似的东西(不是真实的,只是一个例子:)):
http://myserver.com/index.php?eParam=ks883d48223v2czozoz227272j2nn2dn2d2du3dh4hn4f4f4f4h3383xh8383s38s3j83sj8s3j92h2s89hs387h2s87hs287h2s87h2ui2c3iuhc287z9m2389f
Run Code Online (Sandbox Code Playgroud)
当然,我需要在每一侧都有一个内置密钥,这将能够解密该信息.有没有可能使这种可能的功能?我不关心客户端,因为它将是一个正在运行的应用程序,而不是一个网页或任何易于逆向工程的东西.
谢谢 !
我对这个主题进行了一系列研究,但遗憾的是我找不到用PHP加密和解密文件的完美方法.这意味着我正在尝试做的是找到一些方法来加密和解密我的项目,而不用担心破解者知道我的算法.如果某些算法需要分泌和隐藏,当它通过任何地方共享逻辑时,它无法解决我的问题,或者它们闯入我的服务器并获取源文件,那么它应该是某种方式使用相同的解密来解密它算法.以前我在StackOverFlow网站上发现了几篇很棒的帖子,但它仍然无法回答我的问题.
从我通过阅读得出的结论来加密世界密码的最佳方式.Blowfish加密.这是一种具有1000次迭代的散列算法,这使得破解者需要7年才能使用相同规格的GPU进行解密.
显然,这使得在单向散列时无法解密.
在PHP中加密和解密密码的最佳方法,因为这个问题引用它.参考我通过网络发现的内容,sha1和md5都是破解和破解算法,甚至我们改变了算法
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
Run Code Online (Sandbox Code Playgroud)
至
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, sha1(md5($key)), $string, MCRYPT_MODE_CBC, sha1(md5(md5($key)))));
Run Code Online (Sandbox Code Playgroud)
是不是只是增加了解密它的韧性,但在时间问题上仍然可以破解?
我正在考虑使用我们的服务器处理器/硬盘GUID来生成salt并加密密码.
当cracker获得对服务器的访问时,它仍然是一些愚蠢的方法,他们可以使用PHP来回显GUID并进行解密.或者,如果它有效,几年后我的网站将遇到麻烦.原因是硬盘,处理器永远不会永远存在.当我的处理器或硬盘下来时,这是我的网站关闭并丢失所有凭据的时间.
更新
发现这个问题在PHP中使用blowfish进行解密.它是否正在解决找到加密的安全方式并且难以被其他人解密的问题?
任何人都可以建议我应该如何克服这个问题?谢谢.
我目前正计划开发一个PHP应用程序,该应用程序需要存储外部服务的用户密码,以便在用户登录我的应用程序时可以同时登录.
我需要将密码存储在一个安全的,即非纯文本中,而不是base64编码,但也需要以应用程序的方式以纯文本形式访问,无论如何.
我只能想到以下内容:
当用户将其外部服务的凭据添加到其帐户时,他们会重新输入我的应用程序的密码,并且(以加密形式)用于以某种方式"加密"外部服务的密码,但是以某种方式让它仍然可访问.
有没有人想过这是可能的,还是潜在的解决方案?
谢谢
另外:值得注意的是,数据将通过SSL连接发送.
出于好奇:比如说; Google Mail,您可以将电子邮件帐户添加到您的Google Mail帐户,以便检查所有帐户.有没有人对Google如何存储您添加的帐户的密码有任何想法?
我刚刚启动PHP和mySQL,需要知道这是否"安全".登录信息通过AJAX(jQuery)传递到以下PHP文件中.
jQuery AJAX
$("#login_form").submit(function(){
$.post("login.php",{user:$('#username').val(),pass:$('#password').val()} ,function(data)
Run Code Online (Sandbox Code Playgroud)
PHP
ob_start();
mysql_connect("-", "-", "-") or die("ERROR. Could not connect to Database.");
mysql_select_db("-")or die("ERROR. Could not select Database.");
//Get Username and Password, md5 the password then protect from injection.
$pass = md5($pass);
$user = stripslashes($user);
$pass = stripslashes($pass);
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
//See if the Username exists.
$user_result=mysql_query("SELECT * FROM users WHERE username='$user'");
$user_count=mysql_num_rows($user_result);
if($user_count==1){
if($pass_length==0){ echo "userVALID"; }
else{
$pass_result=mysql_query("SELECT * FROM users WHERE username='$user' and password='$pass'");
$pass_count=mysql_num_rows($pass_result);
if($pass_count==1){
session_register("user");
session_register("pass"); …Run Code Online (Sandbox Code Playgroud) 所有,我将使用来自以下 URL 的二维码:http : //qrcode.kaywa.com/
我想使用 URL 选项,因此当有人扫描它时,它们会被发送到我在代码中指定的 URL。我想要类似以下 URL 的内容:http : //www.website.com/web-page/?type= uplights& action=checkout
基于 URL 中的变量,我想允许我的用户插入一些数据。
我知道用户通过扫描 QR 码而不是仅在 URL 中输入该信息来访问此 URL,是否有办法确保这样做?
谢谢!
可能重复:
使用PHP加密和解密的最佳方式?
对于我的项目,我想以加密格式存储密码,
所以我已经使用它存储它md5('password'),但我的项目要求是我们应该能够解密密码,并且众所周知我们无法解密md5加密字符串.
所以我选择它来编码使用base64_decode('password')和解码它base64_decode('encodedpassword').
但我想知道这是最好的做法base64_encode吗?还是有PHP的其他加密解密技术?
我是学习 php 的新手,在我的第一个程序中,我想制作一个基本的 php 网站,该网站具有登录功能以及用户和密码数组。
我的想法是将用户名存储为列表参数并将密码作为内容,如下所示:
arr = array(username => passwd, user => passwd);
Run Code Online (Sandbox Code Playgroud)
现在我的问题是我不知道如何从文件 ( data.txt) 中读取数据,因此我可以将其添加到数组中。
data.txt sample:
username passwd
anotherUSer passwd
Run Code Online (Sandbox Code Playgroud)
我已经打开了文件fopen并将其存储在$data.
我使用以下技术来加密/解密密码:
$key = 'abcd';
$password = 'password';
$encrypted_password = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $password, MCRYPT_MODE_CBC, md5(md5($key))));
$decrypted_password = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted_password), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
Run Code Online (Sandbox Code Playgroud)
但是,当我将URL中的加密密码传递给另一个网页时,例如:
example.com/authenticate.php?pass=CuESFcvXHnQkZaY79WUL3U2aY9TROkjZFETk9Ur+iFY=
Run Code Online (Sandbox Code Playgroud)
然后它不是使用相同的密钥以原始形式解密它,我得到一些垃圾数据作为结果.
我认为它类似于url 编码/解码问题?
有什么方法可以解决这个问题吗?
谢谢
我有一个有两个用户类的站点 - 管理员和访客.预计,管理员可以访问普通客人没有的某些功能.目前,分隔管理员/来宾的用户标志(admin/guest)以X:Y格式存储在cookie中,其中X是用户标志(1表示管理员,2表示用户),Y是唯一的用户ID.用户在数据库中.
可以通过更改cookie中的"X"来完成权限提升.因此,我想知道是否有任何方法可以防止这种情况发生?泰!
我是新手,正在学习网络开发等等。我只知道如何将我的视频嵌入网站,任何新手都可以轻松获得源,他们也可以嵌入。但在许多网站中,视频 src 使用重定向器链接进行编码,例如:https : //redirector.googlevideo.com/videoplayback?requiressl=yes&id=0c5d32687bb8e7fd&itag=18&source=webdrive&ttl=transient&app=explorer&ip=2604 : a810 :0 :0 :: DC7:D001&ipbits = 32&到期= 1481329545&sparams = requiressl%2Cid%2Citag%2Csource%2Cttl%2Cip%2Cipbits%2Cexpire&签名= 8094D8DEF3C98784DC5561980B5725379B61A804.4C63CCB219699C4A2C02FB2606425E50243F8D36&键= CK2&毫米= 31&MN = SN-ab5l6ne6&MS = AU&MT = 1481314943&MV = M&NH = IgpwcjA0LmxnYTA3KgkxMjcuMC4wLjE&PL = 48
它会在一段时间后到期,在本例中为一天。我了解到这是一个签名的网址。
所以,我想知道如何创建这样的签名网址。请不要提供任何插件名称,因为我不是付费用户或我只使用博主的任何东西。我只是想学习如何用 javascript 编写代码。
简而言之,我想说,我嵌入的 youtube 视频的源是一个签名的 url,一个小时后过期,并且在刷新站点时源应该不断变化。
我想在C#中使用以下加密方法.但我不知道它是否可用以及如何使用它.因为我对web更加熟悉:'(.任务是我必须解密在桌面应用程序中加密的用户密码.(用C#编写)并作为json对象发送.使用我的php脚本我必须解码json对象并解密密码.Plz帮助.如果这是不可实现的,请告诉我一个使用的解决方案.
我想在C#中使用这段代码
$key = '12345bcde';
$password = 'myPass@1001';
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $password, MCRYPT_MODE_CBC, md5(md5($key))));
Run Code Online (Sandbox Code Playgroud)