Tag: php

试图将C#函数移植到PHP5

我正在尝试将此函数转换为PHP但不知何故它不会给出相同的结果。 public static string EncodePassword(string pass, string salt) { byte[] bytes = Encoding.Unicode.GetBytes(pass); byte[] src = Convert.FromBase64String(salt); byte[] dst = new byte[src.Length + bytes.Length]; byte[] inArray = null; Buffer.BlockCopy(src, 0, dst, 0, src.Length); Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); HashAlgorithm algorithm = HashAlgorithm.Create(“SHA1”); inArray = algorithm.ComputeHash(dst); return Convert.ToBase64String(inArray); } 这是我在PHP中的看法 function CreatePasswordHash($password, $salt) { $salted_password = […]

使用PHP调用C#.net .dll脚本

我有一个C#.net DLL脚本调用一个SQL存储过程SELECT数据,以便运行相关的方法。 我需要使用PHP运行dll,因为我的整个应用程序都是用PHP构建的。 这样做的最佳方式是什么? 我对C#没有任何经验。 编辑 我成功注册了.net dll: RegAsm.exe DllName.dll /tlb:DllName.tlb 我现在应该能够使用PHP的COM()方法来调用dll的函数/方法。 但是,当.net dll注册为程序集时,这些函数是否仍然可以通过COM()方法访问? 这有什么不同吗? 编辑 注册.net DLL程序集后,当我尝试使用COM()调用该方法时,我收到一条错误消息: “PHP Fatal error: Uncaught exception ‘com_exception’ with message ‘Failed to create COM object `DllName.ClassName’: Invalid syntax” 编辑 尝试使用: new DOTNET(‘DllName, Version=4.0.30319.33440, Culture=neutral, PublicTokenKey=14843e0419858c21’, ‘ClassName’); 得到internal server 500错误 这是因为PHP不与.net 4程序集通信吗?

在C#中转换strtr php函数

需要在C#中转换这个PHP代码 strtr($input, ‘+/’, ‘-_’) 是否存在等效的C#函数?

使用PHP对ASP.NET成员资格中的用户进行身份validation

尝试使用PHP对现有ASP.NET成员资格数据库进行身份validation时,我遇到了一些问题。 我搜索过网络,我发现的现有答案似乎对我不起作用。 即: public static function Hash($password, $salt) { $decodedSalt = base64_decode($salt); $utf = mb_convert_encoding($password, ‘UTF-16LE’, ‘UTF-8’); return base64_encode(sha1($decodedSalt.$utf, true)); } 我认为问题的一部分是密码哈希实际上不是用SHA-1计算的,因为数据库中的值是44个字符长,base64编码的字符串(这意味着输入可能是256位长)。 我试过用SHA-256代替SHA-1,但无济于事。 我在web.config中找不到一个机器密钥,它可以进一步腌制哈希值,当我在本地运行或在生产服务器上运行时,ASP.NET站点生成相同的哈希值,所以我不知道为什么它们不是不匹配。 Web.config成员资格提供程序: 应该起作用的示例密码: $salt = ‘Mu1tp8XzfKl8dSTVAZm44A==’; // Straight from the DB $password = ‘testing’; $expectedHash = ‘TQN7m8OWIyBOKVwzegWSUBVq7o7+KWFBc46J+B77mLw=’ // Straight from the DB // When using the above Hash function with SHA-256 instead […]

正则表达式 – 如何在第一次出现角色时停止

我试图从标签中提取src值,到目前为止我似乎能够提取字符串中src值和最终引号之间的字符串 串: 例如在PHP中: preg_match(‘/src=\”(.*)\”/’, $row->find(‘a img’,0), $matches); if($matches){ echo $matches[0]; } 打印出 src=”http://sofzh.miximages.com/java/amazon_uk.gif” width=”89″ height=”31″ alt=”” 但我真正想要的是… src=”http://sofzh.miximages.com/java/amazon_uk.gif” 或者如果可能的话…… http://i.bookfinder.com/about/booksellers/logo_borderless/amazon_uk.gif 我该怎么加入正则表达式? 谢谢

我需要建议开发敏感数据传输/存储/加密系统

介绍 我目前正在开展一个项目,该项目涉及从VisualFox Pro数据库中每日提取数据(药房记录),并将其中的一些上传到WordPress网站,药房的客户可以安全地查看它。 我想在我的软件的一般方法方面提出一些建议 – 我能够对其进行编码,但需要知道我是否采用了正确的方法。 我正在编写PC软件(在C#/ .NET 4.5中)和PHP WordPress插件。 问题1:加密 我计划使用的加密数据服务器端的当前进程基于本文 。 总而言之,它主张用存储在服务器上的自己的公钥非对称地加密每个单独的用户数据。 然后,用于解密该数据的私钥本身使用用户的密码对称加密并存储。 这样,即使数据库被盗,也需要破坏用户的密码哈希,即使这样,也需要为每个用户的数据重复该过程。 作者本人指出的唯一弱点,以及我的问题的主要观点是,当用户登录时,解密的密钥存储在会话存储中。 文章建议处理它的方式是仅限制用户登录的时间。我认为更好的解决方案是将该密钥存储在短期安全cookie中(当然整个过程通过HTTPS进行) 。 这样,如果攻击者可以控制用户的计算机并且可以读取他们的cookie,他们可能只需键入密码并登录,无需窃取数据库,而即使攻击者获得对服务器的访问权限,他们也无法解密HTTPS流量(或者可以吗?我不确定。) 我应该使用安全cookie或会话存储来临时存储解密密钥吗? 问题2:存储 我还想解决的第二件事是如何存储数据 – 这更像是一个效率问题。 由于每个用户都有自己的加密密钥,因此每个用户的记录必须单独存储。 我不知道是否应该为每个用户存储一个“块”数据,包含带有表示记录的对象数组的加密JSON,或者我是否应该将记录存储在具有实际数据结构的表中,并加密每个数据字段与钥匙分开。 我倾向于将数据存储为一个块 – 在我看来,一次解密一个大块数据比使用数千个单独的字段更有效。 此外,即使我以正确的结构存储数据,我仍然无法使用MySQL的WHERE,ORDERBY等,因为数据都是BLOB。 我应该将数据存储为每个用户的大块,还是分成不同的字段? 问题3:转移 我从DBF文件中提取数据,并基本上形成一个“差异”,从而比较当前提取的数据和最后一天的数据,并只上传已更改的用户的块(我不仅可以上传记录,因为我可能最终将用户的数据存储在块中)。 我还为已被删除的用户添加了“删除”说明。 这是因为数据库中有数十万条记录,总计超过200mb,并且每天都会增加大小。 我目前的计划是将所有这些数据写入JSON文件,gzip并将其上传到服务器。 我的问题是,如何在确保数据安全的同时做到这一点? 当然,上传将通过HTTPS进行,我有一个API密码,只允许授权上传,但我主要担心的是如果服务器受到损害,如何保护数据。 我不希望攻击者只是在处理服务器时从服务器获取JSON文件。 我的一个想法是让服务器向我发送用户的公钥列表,并在上传之前在我的软件中执行加密。 在我看来,这是保护数据的唯一方法。 我可以加密整个JSON文件,可能使用API​​密钥或特殊密码,但如果攻击者可以在服务器上处理解密文件时只是访问解密文件,那就没有实际意义了。 这是一个好的解决方案吗? 我应该在客户端单独加密数据,还是有办法将其安全地传输到服务器并在那里加密? 在此先感谢任何答案,我很想听到之前处理过这类问题的人。 注意: 交叉发布给程序员 ,请参阅注释。

如何在PHP中复制此C#散列? (toByteArray(),ComputeHash())

我试图在PHP复制以下代码,它是我必须与之接口的API的示例代码(API和示例代码在C# ,我的应用程序在PHP 5.3 )。 我不是C#开发人员,所以我很难做到这一点。 // C# Code I am trying to replicate in PHP var apiTokenId = 1887; var apiToken = “E1024763-1234-5678-91E0-T32E4E7EB316”; // Used to authenticate our request by the API (which is in C#) var stringToSign = string.Empty; stringToSign += “POST”+”UserAgent”+”http://api.com/post”; // Here is the issue, How can I do the following 3 […]

PHP中的htmlspecialcharacters相当于.NET?

PHP有一个很棒的函数叫做htmlspecialcharacters() ,你传递一个字符串,用它们安全的等价物替换所有HTML的特殊字符,它几乎是一站式消毒输入。 非常好吗? 那么在任何.NET库中都有相同的东西吗? 如果没有,任何人都可以链接到任何代码示例或库这样做吗?

Phpinheritance,动态属性和新的static()构造函数

我来自.NET世界。 现在进入这些寒冷的php水域。 我发现了一个让我有点困惑的例子。 当然,我试图将OOP基础应用于这个PHP代码,但它没有意义。 这是我正在谈论的课程。 [ ‘id’ => ‘100’, ‘username’ => ‘admin’, ‘password’ => ‘admin’, ‘authKey’ => ‘test100key’, ], ‘101’ => [ ‘id’ => ‘101’, ‘username’ => ‘demo’, ‘password’ => ‘demo’, ‘authKey’ => ‘test101key’, ], ]; public static function findIdentity($id) { return isset(self::$users[$id]) ? new static(self::$users[$id]) : null; } public static function findByUsername($username) { foreach […]

在IIS 7上的ASP.NET MVC 4应用程序中运行PHP文件?

我有一个只有php api的支付网关。 是否可以在我的IIS服务器上运行该脚本运行MVC4的应用程序? 当我将1.php添加到我的根文件夹并尝试导航它时,它显示HTTP Error 404.3 – Not Found 。