Tag: php

在ASP.NET上创建JSON标头

我正在将脚本从PHP转换为ASP.net C#。 在PHP中,我可以使用类似的东西: header(’Content-type:text / json’); header(’Content-type:application / json’); 如何告诉我的aspx页面在标题中声明它正在打印JSON文件?

生成随机加权值

编辑:我已经重写了这个问题,希望目标更加清晰。 这是这个问题的一个扩展问题,我非常喜欢这个答案提供的function。 在上面的答案中,人们能够设定击中极端的概率,较高的数字产生较低数字的概率,反之亦然。 问题是我必须设定3组的概率。 这些组是最低值(LV),最高值(HV)和中间值(MV)。 但是,为了简化请求,我们可以考虑EVP=HVP=LVP 。 给定任何范围,HV / LV应基于指定的EVP出现,并且当您从每个极端的范围内进展/下降时,该范围中下一个值的概率将根据EVP之间的距离增加或减少。和MVP。 使用1-6的示例范围,1和6的加权为5%(EVP),概率差为1/6为5%,2/4为15%,3/4为30%(MVP) ),总计100%。 反过来也应该是可能的,交换EVP和MVP应产生下图的反转。 这是一张我希望能传达给定例子预期结果的图像。 中等重量: 额外奖励:如果我能够单独设置HVP和LVP产生类似于下图的结果,那将是最优秀的( 注意:图表不符合上述规范 )。 中等加权(奖金): 谢谢!

从C#WinForm将数据发布到PHP页面

我有一个winForms NET3.5SP1应用程序,并希望将数据POST到PHP页面。 我也将把它作为JSON传递,但是想要先直接使用POST。 这是代码: Person p = new Person(); p.firstName = “Bill”; p.lastName = “Gates”; p.email = “asdf@hotmail.com”; p.deviceUUID = “abcdefghijklmnopqrstuvwxyz”; JavaScriptSerializer serializer = new JavaScriptSerializer(); string s; s = serializer.Serialize(p); textBox3.Text = s; // s = “{\”firstName\”:\”Bill\”,\”lastName\”:\”Gates\”,\”email\”:\”asdf@hotmail.com\”,\”deviceUUID\”:\”abcdefghijklmnopqrstuvwxyz\”}” HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“http://www.davemateer.com/ig/genius/newuser.php”); //WebRequest request = WebRequest.Create(“http://www.davemateer.com/ig/genius/newuser.php”); request.Method = “POST”; request.ContentType = “application/x-www-form-urlencoded”; //byte[] byteArray = […]

什么是PHP Pack()函数的C#等价物?

我有一行PHP代码执行以下操作: $xml = “…[snipped for brevity]…”; $request = pack(‘N’, (strlen($xml)+4)).$xml; 这似乎做的是将$xml (加4)长度的二进制字符串添加到$xml的值。 我如何在C#中完成相同的操作?

将PHP crypt()函数移植到C#的问题

我正在努力将一些旧的ALP用户帐户移植到新的ASP.Net解决方案,我希望用户能够使用他们的旧密码。 但是,为了使其工作,我需要能够根据新键入的密码将旧哈希值与新计算的哈希值进行比较。 我四处搜索,发现这是由PHP调用的crypt()的实现: char * crypt_md5(const char *pw, const char *salt) { MD5_CTX ctx,ctx1; unsigned long l; int sl, pl; u_int i; u_char final[MD5_SIZE]; static const char *sp, *ep; static char passwd[120], *p; static const char *magic = “$1$”; /* Refine the Salt first */ sp = salt; /* If it starts with the magic […]

为什么我的PHP SHA256哈希不等同于C#SHA256Managed哈希

为什么这些不一样? PHP: $hash = hash(‘sha256’, $userData[‘salt’] . hash(‘sha256’, $password) ); C# public static string ComputeHash(string plainText, string salt) { // Convert plain text into a byte array. byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); byte[] saltBytes = Encoding.UTF8.GetBytes(salt); SHA256Managed hash = new SHA256Managed(); // Compute hash value of salt. byte[] plainHash = hash.ComputeHash(plainTextBytes); byte[] concat = new byte[plainHash.Length […]

c#在PHP中等效的TempData

我知道我可以手动显式设置和取消设置会话,但我相信这是值得问的。 在c#中,有一个名为TempData的字典,它存储数据直到第一个请求。 换句话说,当调用TempData时,它会自动取消设置。 为了更好地理解这里是一个例子: Controller1.cs: TempData[“data”] = “This is a stored data”; Model1.cs: string dst1 = TempData[“data”]; // This is a stored data string dst2 = TempData[“data”]; // This string will be empty, if an exception is not raised (I can’t remember well if an exception is raised) 所以基本上,这只是一个仅供1次使用的会话。 再次,我知道我可以在php中显式设置和取消设置,但是,php是否还有像这样的function?

Mediawiki标记的开源解析器代码

我有兴趣有选择地解析Mediawiki XML标记,以生成一个自定义HTML页面,该页面是实际PHP Mediawiki渲染引擎生成的HTML的一部分。 我想要它用于BzReader,一个用C#编写的离线Mediawiki压缩转储读取器。 所以C#解析器是理想的,但任何好的代码都会有所帮助。 当然,如果以前没有人这样做过,我想是时候开始一个项目维护一个免费的,独立的Mediawiki解析器,基于Mediawiki自己的解析器,但与Mediawiki本身不太紧密集成。 那么,有没有人知道我可以开始的任何基础,这比从Mediawiki PHP代码入侵更好?

php md5算法,给出与c#相同的结果

我在C#中有一个散列算法,简而言之,它是: string input = “asd”; System.Security.Cryptography.MD5 alg = System.Security.Cryptography.MD5.Create(); System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); byte[] hash = alg.ComputeHash(enc.GetBytes(input)); string output = Convert.ToBase64String(hash); // outputs: eBVpbsvxyW5olLd5RW0zDg== Console.WriteLine(output); 现在我需要在php中复制这种行为, $input = “asd”; $output = HashSomething($input); echo $output; 我怎样才能实现它? 我检查了 MD5 utf8_decode 函数utf8_encode BASE64_ENCODE BASE64_DECODE url_decode 但我注意到php md5最终没有得到==我错过了什么? 注意 :我无法更改C#行为,因为它已经实现,并且使用此算法将密码保存在我的数据库中。

PHP和C#中的DES加密

我试图在C#代码中使用与PHP相同的DES编码。 C#代码如下所示: public static string EncriptarCadena(string strEncriptar) { DESCryptoServiceProvider provider; MemoryStream stream; CryptoStream stream2; string str2; string str = “29393651”; byte[] buffer2 = new byte[] { 0x45, 50, 0xa5, 0x18, 0x67, 0x58, 0xac, 0xba }; byte[] bytes = new byte[0]; try { bytes = Encoding.UTF8.GetBytes(str.Substring(0, 8)); provider = new DESCryptoServiceProvider(); byte[] buffer = Encoding.UTF8.GetBytes(strEncriptar); stream […]