Tag: encryption

C中的关联数组

我正在实施一种将一组数据传输到可编程encryption狗的方法。 encryption狗基于智能卡技术,可以在其中执行任意代码。 input和输出数据作为可以通过input和输出指针访问的二进制块传递。 我想用一个关联数组来简化数据处理代码。 一切都应该这样工作: 首先是主机应用程序: // Host application in C++ in_data["method"] = "calc_r"; in_data["id"] = 12; in_data["loc_a"] = 56.19; in_data["loc_l"] = 44.02; processor->send(in_data); 接下来encryption狗内的代码: // Some dongle function in C char* method_name = assoc_get_string(in_data, "method"); int id = assoc_get_int(in_data, "id"); float loc_a = assoc_get_float(in_data, "loc_a"); float loc_l = assoc_get_float(in_data, "loc_l"); 所以我的问题是关于encryption狗部分的function。 是否有C代码或库来实现像上面这样的关联数组行为?

C#SHA-1与PHP SHA-1 …不同的结果?

我想从一个string计算一个SHA-1哈希,但是当我使用php的sha1函数计算string时,我得到了与在C#中尝试不同的东西。 我需要C#来计算相同的string作为PHP(因为PHP的string是由第三方计算,我不能修改)。 我如何让C#生成与PHP相同的散列? 谢谢!!! string= s934kladfklada@a.com C#代码(生成d32954053ee93985f5c3ca2583145668bb7ade86) string encode = secretkey + email; UnicodeEncoding UE = new UnicodeEncoding(); byte[] HashValue, MessageBytes = UE.GetBytes(encode); SHA1Managed SHhash = new SHA1Managed(); string strHex = ""; HashValue = SHhash.ComputeHash(MessageBytes); foreach(byte b in HashValue) { strHex += String.Format("{0:x2}", b); } PHP代码(生成a9410edeaf75222d7b576c1b23ca0a9af0dffa98) sha1();

什么是空密钥encryption?

在电影“黑暗骑士”中,蝙蝠侠build造了一些超强大的声呐监控系统,并对其进行encryption处理。 我正在阅读这个RFC,但不能理解它。 它说这样的事情 但是,有些情况下只需要authentication和完整性保护,不需要或不允许保密。 最后他告诉福克斯 在完成时input你的名字。 如果那么简单,为什么要encryption呢?

指定的密钥对于此algorithm不是有效的大小

我有这个代码: RijndaelManaged rijndaelCipher = new RijndaelManaged(); // Set key and IV rijndaelCipher.Key = Convert.FromBase64String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678912"); rijndaelCipher.IV = Convert.FromBase64String("1234567890123456789012345678901234567890123456789012345678901234"); 我得到了投掷: Specified key is not a valid size for this algorithm. Specified initialization vector (IV) does not match the block size for this algorithm. 这个string有什么问题? 我可以从你的一些例子string?

新的行附加在我的encryptionstring

主要: public static void main(String[] args) throws NoSuchAlgorithmException { System.out.println("encrypt:" + encryptPassword("superuser")+":" ); } public static String encryptPassword(final String password) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] hashPassword = md.digest(password.getBytes()); String encryPass = Base64.encodeBase64String(hashPassword); return encryPass; } 我得到这个输出: encrypt:C66i8K4gFQ23j1jN2sRCqQ==: 但是,当我在我的应用程序中实现相同的东西,我得到的输出如下: encrypt:C66i8K4gFQ23j1jN2sRCqQ== : 注意:新行附加在我的encryptionstring上。 申请代码: public boolean authenticateUsernamePasswordInternal(UsernamePasswordCredentials credentials) { try { System.out.println("encrypt:" + getHash("superuser")+":" […]

如何将SSL添加到使用httplistener的.net应用程序 – 它将不会在IIS上运行

最近的粗体编辑我使用.net HttpListener类,但我不会在IIS上运行,而不是使用ASP.net。 这个网站描述了实际使用什么代码来实现与asp.net的SSL, 这个网站描述了如何设置证书(虽然我不知道它是否只适用于IIS)。 类文档描述了各种types的authentication(基本,摘要,Windows等)—它们都不涉及SSL。 它确实表示,如果使用HTTPS,则需要设置服务器证书 。 这将是一个单行的属性设置和HttpListener算出其余的? 总之,我需要知道如何设置证书以及如何修改代码来实现SSL。 虽然在尝试访问HTTPS时不会发生,但是我在系统事件日志中发现了一个错误 – 源是“Schannel”,消息的内容是: 尝试访问SSL服务器凭证私钥时发生致命错误。 从encryption模块返回的错误代码是0x80090016。 编辑: 迄今采取的步骤 在C#中创build一个可用于HTTP连接的工作HTTPListener(例如“ http:// localhost:8089 / foldername / ” 使用makecert.exe创build一个证书 使用certmgr.exe添加了要信任的证书 使用Httpcfg.exe来侦听testing端口上的SSL连接(例如8090) 通过listener.Prefixes.Add( https:// localhost:8090 / foldername / “)将端口8080添加到HTTPListener中。 在浏览器中testingHTTP客户端连接,例如( http:// localhost:8089 / foldername / ),并接收正确的返回 在浏览器中testing了HTTPS客户端连接,例如( http:// localhost:8090 / foldername / ),并接收到“数据传输中断”(在Firefox中) 在Visual Studio中进行debugging显示,当HTTPS连接开始时,接收请求的侦听器callback不会被触发 – 我没有看到任何可以设置断点的位置来捕捉其他事情。 netstat显示侦听端口对于HTTPS和HTTP都是开放的。 在尝试连接后,HTTPS端口将转至TIME_WAIT。 提琴手和HTTPAnalyzer不捕捉任何stream量,我想它没有得到足够的过程中显示在这些HTTP分析工具 问题 […]

Math.random()是密码保护的吗?

在不同的浏览器中使用JavaScript Math.random()algorithm有多好? 可以用它来生成盐和一次性密码吗? 从一个random我可以使用多less位?

如何计算位串的近似熵?

有没有一个标准的方法来做到这一点? 谷歌search – “近似熵”位 – 揭示了多篇学术论文,但我只想find一个伪代码块定义任意长度的给定位串的近似熵。 (如果这说起来容易做起来并且取决于应用程序,我的应用程序涉及16,320位encryption数据(密文),但作为一个谜题encryption,并不意味着不可能破解,我想我会先检查熵,但是很难find这样的好的定义,所以这似乎是一个应该在StackOverflow上的问题!从开始去除混合16k随机表示位的想法也是受欢迎的…) 另请参阅以下相关问题: 什么是熵的计算机科学定义?

使.txt文件不可读/不可编辑

我有一个程序,它保存了一个小的.txt文件,其中有一个高分: // Create a file to write to. string createHighscore = _higscore + Environment.NewLine; File.WriteAllText(path, createText); // Open the file to read from. string createHighscore = File.ReadAllText(path); 问题是,用户可以尽可能简单地编辑文件 – 用一个文本编辑器。 所以我想使文件不可读/不可编辑或encryption 。 我的想法是,我可以将数据保存在一个资源文件,但我可以写在一个资源文件? 或者将其保存为.dll,对其进行encryption/解密或查找MD5和/散列。

我如何才能知道iPhone用户目前是否有密码设置和encryptionfunction?

我正在写一个iPhone应用程序,要求对其数据进行encryption。 我已经学会了如何通过设置NSFileProtectionComplete属性来打开文件的encryption。 我也知道如何检查iPhone版本,以确保它们运行的​​是iOS 4.0或更高版本。 我已经意识到,如果用户没有select密码,并且没有在设置>常规>密码locking屏幕上专门启用数据保护,那么数据实际上不受保护。 我想popup一个警告,并告诉用户他们必须启用密码并打开数据保护(需要在前4个iPhone上进行备份和恢复),然后退出应用程序(如果他们没有密码的话)并启用数据保护。 无论如何,我无法弄清楚这些设置的状态。 我发现的所有API,比如UIApplication中的“protectedDataAvailable”,如果数据保护被禁用,所有API都会成功。