Tag: C#的

如何使用RSA在C#中encryption文件(大数据)

我不熟悉encryption。 我需要实现非对称encryptionalgorithm,我认为它使用私钥/公钥。 我开始使用RSACryptoServiceProvider的示例。 可以用小数据来encryption。 但是当在相对较大的数据“2行”上使用它时,我得到了exceptionCryptographicException“Bad Length”! //Create a new instance of RSACryptoServiceProvider. using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) { //Import the RSA Key information. This only needs //toinclude the public key information. //RSA.ImportParameters(RSAKeyInfo); byte[] keyValue = Convert.FromBase64String(publicKey); RSA.ImportCspBlob(keyValue); //Encrypt the passed byte array and specify OAEP padding. //OAEP padding is only available on Microsoft Windows […]

而不是推segue如何replace视图控制器(或从导航堆栈中删除)?

我有一个小iPhone应用程序 ,它使用导航控制器来显示3个视图(这里全屏 ): 首先显示社交networking列表(Facebook,Google +等): 然后显示一个OAuth对话框,询问凭据: 和(在此之后,在同一个UIWebView )的权限: 最后,它显示最后一个视图控制器与用户的详细信息(在真正的应用程序,这将是多人游戏可以开始的菜单): 这一切运作良好,但我有一个问题,当用户想要回去select另一个社交networking: 用户触摸后退button,而不是显示第一个视图,显示第二个,再次请求OAuth凭据/权限。 我能在这里做什么? Xcode 5.0.2展示了segues的一个非常有限的select – push , modal (我无法使用,因为它遮挡了我的游戏所需的导航栏)和自定义 。 我是一个iOS编程新手,但更早的时候,我开发了一个Adobe AIR移动应用程序,并有可能1)取代视图,而不是推动和2)从导航堆栈中删除不需要的视图。 请问如何在原生应用程序中做同样的事情?

FFmpeg可以作为一个库,而不是一个独立的程序?

我想为我正在编写的程序添加video转换function。 FFmpeg的命令行界面是这样做的,只不过是ffmpeg -i InputFile OutputFile ,但是有没有办法把它作为一个库来使用,所以我可以做一些像ffmpeg_convert(InputFile, OutputFile) ? 我希望我不会直接使用libavcodec,因为我想它比单行函数在格式间转换要复杂得多。 如果FFmpeg不能轻易改装,那么可能还有另外一个基于它的库吗? 我听说过libvlc,但是这似乎只暴露了一个video播放 API,而不是video转换。 谢谢。

如何在C中包含一个dynamic数组INS?

我环顾四周,但一直未能find解决scheme,必须是一个很好的问题。 这里是我有的代码: #include <stdlib.h> struct my_struct { int n; char s[] }; int main() { struct my_struct ms; ms.s = malloc(sizeof(char*)*50); } 这里是错误gcc给我:错误:无效的使用灵活的数组成员 如果我在结构体中声明s的声明,我可以编译它 char* s 这可能是一个优越的实现(指针算术比数组快,是吗?),但我想在CA声明 char s[] 是相同的 char* s

了解Linux内核中的container_ofmacros

当我浏览Linux内核时,发现了一个container_ofmacros,其定义如下: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr – offsetof(type,member) );}) 我明白container_of是做什么的,但是我不明白的是最后一个句子 (type *)( (char *)__mptr – offsetof(type,member) );}) 如果我们使用macros,如下所示: container_of(dev, struct wifi_device, dev); 最后一句的相应部分是: (struct wifi_device *)( (char *)__mptr – offset(struct wifi_device, dev); 这看起来像什么都不做。 有人可以填补这个空白吗?

堆栈内存vs堆内存

可能重复: 什么和堆栈和堆在哪里 我在C ++编程,我总是想知道什么是堆栈内存与堆内存。 我所知道的是当我打电话给新的时候,我会从堆中获得记忆。 如果如果创build本地variables,我会从堆栈中获取内存。 经过对互联网的一些研究,最常见的答案是堆栈内存是暂时的,堆内存是永久的。 堆栈和堆内存模型是操作系统还是计算机体系结构的概念? 所以有些可能不遵循堆栈和堆内存模型,或者它们都遵循它? 堆栈和堆内存是对虚拟内存的内存模型的抽象(可能会在磁盘和内存之间交换内存)。 所以堆栈和堆内存物理上可能是内存或磁盘? 那么堆分配似乎比堆栈分配慢的原因是什么呢? 另外,主程序将在堆栈或堆中运行? 另外,如果一个进程用完堆栈内存或堆内存分配会发生什么? 谢谢

为什么在C ++ 11中有&时使用std :: move?

可能重复: 有人可以解释移动语义给我吗? 我最近参加了一个C ++ 11研讨会,并给出了以下的build议。 when you have && and you are unsure, you will almost always use std::move 任何人可以向我解释为什么你应该使用std::move ,而不是一些替代品和一些情况下,当你不应该使用std::move ?

不pipe顺序如何获取string列表的哈希

我想写一个函数GetHashCodeOfList() ,它返回一个string列表的散列码,不pipe顺序如何。 给定2个具有相同string的列表应该返回相同的散列码。 ArrayList list1 = new ArrayList() list1.Add("String1"); list1.Add("String2"); list1.Add("String3"); ArrayList list2 = new ArrayList() list2.Add("String3"); list2.Add("String2"); list2.Add("String1"); GetHashCodeOfList(list1) = GetHashCodeOfList(list2) //this should be equal. 我有几个想法: 我可以首先对列表进行sorting,然后将sorting后的列表合并为一个长string,然后调用GetHashCode() 。 但是sorting是一个缓慢的操作。 我可以得到每个单个string的哈希值(通过调用string.GetHashCode() )在列表中,然后乘以所有散列并调用Mod UInt32.MaxValue 。 例如: "String1".GetHashCode() * "String2".GetHashCode * … MOD UInt32.MaxValue 。 但是这会导致数字溢出。 有没有人有任何想法? 在此先感谢您的帮助。

C ++:在构造函数中初始化variables的位置

可能重复: C ++初始化列表 选项1和选项2初始化variables有什么优点/缺点? class MyClass { public: MyClass( float f, char a ); private: float mFloat; char mCharacter; bool mBoolean; int mInteger; }; MyClass::MyClass( float f, char a ) : mFloat( f ), mBoolean( true ) // option 1. { // option 2 mCharacter = a; mInteger = 0; } 编辑:为什么选项2如此常见?

我如何使用一个std :: unique_ptr成员的定制删除器?

我有一个unique_ptr成员的类。 class Foo { private: std::unique_ptr<Bar> bar; … }; Bar是一个具有create()函数和destroy()函数的第三方类。 如果我想在独立函数中使用std::unique_ptr ,我可以这样做: void foo() { std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); }); … } 有没有办法做到这一点与std::unique_ptr作为一个类的成员?