小编lyn*_*ynn的帖子

PHP可以使用表单身份验证票证解密吗?

我是一名PHP开发人员,几乎不了解.NET..NET工作人员已经要求我将用于解密身份验证票证的.NET代码转换为PHP,以便PHP代码可以为我的应用程序设置适当的会话变量来运行.这甚至可能吗?我正盯着代码,这让我感到困惑.我会继续尝试,如果有人能告诉我这不是浪费时间因为某种原因我甚至都不知道.谢谢你的帮助!

附加信息:我是否可以首先使用PHP获取票证?

.net php c# authentication encryption

3
推荐指数
1
解决办法
4493
查看次数

为什么我的SHA1哈希不匹配?

我上次认为我不够具体.开始了:

我有一个十六进制字符串:

742713478fb3c36e014d004100440041004 e0041004e00000060f347d15798c9010060 6b899c5a98c9014d007900470072006f007 500700000002f0000001f7691944b9a3306 295fb5f1f57ca52090d35b50060606060606

最后20个字节应该(理论上)包含第一部分的SHA1哈希(完整字符串--20字节).但它不适合我.

尝试用PHP做到这一点,但没有运气.你能得到一场比赛吗?

票:

742713478fb3c36e014d004100 440041004e0041004e00000060 f347d15798c90100606b899c5a 98c9014d007900470072006f00 7500700000002f0000001f7691944b9a

附加到原始的票的sha1哈希:

3306295fb5f1f57ca52090d35b50060606060606

我的sha1哈希票:

b6ecd613698ac3533b5f853bf22f6eb4afb94239

这是故障单中的内容以及它的存储方式.FWIW,我可以提取用户名等,并发现各种分隔符. http://www.codeproject.com/KB/aspnet/Forms_Auth_Internals/AuthTicket2.JPG

编辑:我发现字符串最后由它在此之前经过的解密函数填充.我删除了最后6个字节并相应地调整了票据和哈希值.仍然不起作用,但我更接近.

php sha1

3
推荐指数
1
解决办法
4560
查看次数

如果.net sha1 hash需要一个字节数组,并且php sha1()想要一个字符串,我可以匹配结果吗?

我有一组字节我想应用sha1哈希.一个哈希将在.net中,另一个在PHP中.然后我会测试它们是否匹配.

在.net中,您可以创建一个字节数组并使用sha.ComputeHash().

byte[] data = new byte[DATA_SIZE];
byte[] result; 

SHA1 sha = new SHA1CryptoServiceProvider(); 
// This is one implementation of the abstract class SHA1.
result = sha.ComputeHash(data);
Run Code Online (Sandbox Code Playgroud)

在PHP中,您调用sha1($ string).

我无法对代码的.net方面做任何事情,但是如何从PHP中获取与.net将生成的相同的哈希?

请注意:我只能在PHP方面工作..net的东西是固定的,无法修改.谢谢!

.net php sha1

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

创建sha1哈希时,machineKey validationKey是如何使用的?

<machineKey validation="SHA1" validationKey="<64-byte key>"
Run Code Online (Sandbox Code Playgroud)

validationKey究竟做了什么?假设我使用SHA1创建哈希.validationKey如何发挥作用?

考虑以下代码:

HMACSHA1 hashSha = new HMACSHA1(_validationKey);
byte[] ret = hashSha.ComputeHash(bytes, offSet, count);
return ret;
Run Code Online (Sandbox Code Playgroud)

我们正在生成一个新的_validationkey,对吗?然后我们获取字节并在ComputeHash中散列它们._validationKey有什么意义?当我们以某种方式验证哈希时,我们是否需要它?

如果它在这个过程中没有任何作用,那么以下是真的吗?

我有一个80字节长的字节数组,最后20个字节包含一个asp.net sha1哈希,然后是前60个字节,如果sha1哈希值应该匹配最后20个字节

validationKey在这方面没有任何作用?

.net asp.net validation hash

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

在什么时候你需要成为一名程序员来与Drupal合作?

Drupal似乎可以为非程序员提供很多东西.大量的模块和易于安装.但是你会说你需要成为一名程序员?它在哪里掉下来需要更多的动手关注?

此外,即使它们没有"意图"完成,我也对您必须对代码库进行的任何自定义调整感兴趣.

drupal

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

一次查询并保存到会话,或多次?

我正在构建一个PHP/MySQL应用程序,用户可以登录并搜索媒体资产.他们还可以保存搜索并创建灯箱(资产集合).最后,他们可以创建用户组.

在登录时,一次查询所有已保存的搜索,灯箱和组的ID并将其保存在会话变量中是否更有意义?或者在第一次点击相应页面时执行查询?我正在寻找效率,会议似乎是要走的路,但我忽略了什么吗?

php mysql performance

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

您应该在HTML表单文本字段中检查什么?

我正在编写一个PHP脚本来从提交的表单中获取文本框数据.这些是简单的文本框,我不想接受任何HTML标记.我想我至少应该使用strip_tags()和addslashes().还要别的吗?我不介意限制输入到字母数字,我应该使用正则表达式来寻找非标准字符吗?

这是一个简单的表单,实际上(呃)通过电子邮件发送给处理它的人.(遗憾的是没有数据库.)这是简单的数据,名字和姓氏.

编辑:我也想知道我应该寻找什么.合理输入过滤的共识是什么?

html php forms security

0
推荐指数
1
解决办法
515
查看次数

如何使用php表单的重置按钮?

我有一个用PHP处理的表单.在用户提交之前,"重置"按钮有效.但是当他们提交并重新加载页面时(我已根据$ _POST值使表单字段粘滞),重置不起作用.我该如何解决这个问题?编辑:例如,表单上的复选框:

 <input type="checkbox"  <?php if (isset($_POST['cb12'])){echo 'checked="checked"';} ?> name="cb12" tabindex="34" id=cb value="Education">
Run Code Online (Sandbox Code Playgroud)

和HTML:

<tr>
          <td colspan="5" valign="top" class="addit" ><div class="sectionbreak topsp" >
              <input type="hidden" name="failure" value="failure.html" >
              <p>
                <input type="submit" name="Submit" value="Submit" tabindex="49">
                Sends your application by email to The Boggs</p>
              <p>
                <input type="reset" name="Reset" value="Reset" tabindex="50">
                Clears all the fields</p>
            </div></td>
        </tr>
Run Code Online (Sandbox Code Playgroud)

编辑:最后,如果表单已提交(但未完成),我只是隐藏了按钮.也许没有人会注意到.

php forms reset

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

标签 统计

php ×6

.net ×3

forms ×2

sha1 ×2

asp.net ×1

authentication ×1

c# ×1

drupal ×1

encryption ×1

hash ×1

html ×1

mysql ×1

performance ×1

reset ×1

security ×1

validation ×1