我有一个PostgreSQL数据库,我想转移到SQL Server - 架构和数据.我很穷,所以我不想付钱.我也很懒,所以我不想做很多工作.目前我正在按表格进行此表,并且有大约100个表要做.这非常乏味.
是否有某种技巧可以满足我的需求?
今天我正在做一些悠闲的阅读,并偶然发现了使用离散对数密码学(修订版)(NIST特刊800-56A)的双智能密钥建立方案建议书第5.8节(第45页).我很困惑:
应使用Approved密钥派生函数(KDF)从共享密钥中导出秘密密钥材料.来自KDF的输出仅用于秘密密钥材料,例如用于数据加密或消息完整性的对称密钥,秘密初始化向量或将用于生成其他密钥的主密钥(可能使用不同的进程) ).不应使用共享密钥生成非秘密密钥材料(例如非秘密初始化向量).
现在我不是Alan Turing,但我认为初始化向量不需要保密.在什么情况下会想要一个"秘密初始化向量?" 托马斯·波尔宁说,IVs是公开的,他似乎精通密码学.与caf一样.
我觉得我在这里错过了很简单的东西.我设置Eclipse以打破所有异常.所以,假设它在AssertationFailedException上中断.Debug窗口将显示该线程已挂起并具有以下数据:
Thread [Thread-1] (Suspended (exception AssertionFailedException))
ContactManager.addContact(String) line: 93
ContactManager$ContactDataCallback.dispatch(String, Element, ClientConnector) line: 118
PacketHandler.handle(FractusPacket) line: 173
ServerConnection.syncProcess(FractusMessage) line: 122
ServerConnection.run() line: 248
Thread.run() line: 636
但是,我正在寻找的文本,例如:"Getter在可观察的org.eclipse.core.databinding.observable.set.WritableSet@4b7361e2外部调用",直到我逐步执行异常(因此传播)它一直向上堆栈)它输出异常的类型,文本(这是我想要的部分)和堆栈跟踪.
如何检查"AssertationFailedException"(或任何其他异常)以获取构造异常的消息?当然我在Debug透视图中.
我正在构建一个使用BouncyCastle作为加密提供程序的网络应用程序.假设你有这个生成密钥对:
ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("prime192v1");
KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
g.initialize(ecSpec, new SecureRandom());
KeyPair pair = g.generateKeyPair();
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么你得到一个ECDSA KeyPairGenerator 的实例.为什么不说EC呢?我知道BouncyCastle附带了一个ECDH Key类型,但我认为这两个代表关于曲线上的点的相同内容 - 或者我完全错误的背后的理论?
我问的原因是,我现在的应用程序使用ECDH罚款来建立AES密钥,但现在我想使用相同的EC密钥使用ECDSA对每条消息进行签名.
我正在制作一个使用AES加密的数据包(即非流)的协议.我决定使用GCM(基于CTR),因为它提供了集成身份验证,并且是NSA套件B的一部分.使用ECDH协商AES密钥,其中公钥由可信联系人签名,作为网络的一部分 - 使用像ECDSA这样的信任.我相信我需要一个用于GCM的128位随机数/初始化向量,因为即使我使用256位密钥进行AES,它总是一个128位分组密码(对吗?) 我将使用96位IV后阅读BC代码.
我绝对没有实现我自己的算法(只是协议 - 我的加密提供程序是BouncyCastle),但我仍然需要知道如何使用这个nonce而不用自己的脚.在具有相同DH密钥的两个人之间使用的AES密钥将保持不变,因此我知道不应将同一个随机数用于多个数据包.
我可以简单地在数据包前加一个96位伪随机数,并让收件人将其用作nonce吗?这是点对点软件,数据包可以随时发送(例如,即时消息,文件传输请求等),速度是一个大问题,所以最好不要使用安全随机数源.nonce根本不必是秘密的,对吧?或者必然像"加密安全"PNRG一样随机?维基百科说它应该是随机的,否则它很容易受到选择的明文攻击 - 但是两个声明旁边都有一个"需要引用",我不确定这是否适用于分组密码.我是否可以使用一个计数器来计算从给定的AES密钥开始的1个发送的数据包数(与128位数的计数器分开)?显然这会使nonce可预测.考虑到GCM进行身份验证以及加密,这是否会损害其身份验证功能?
我正在编写一个Java程序,用于在内存中存储敏感数据(密码和私钥).它将自由部署到任何操作系统.我知道用户几乎可以在任何系统上手动创建内存转储,但我担心操作系统或JVM实现的转储(包括但不限于JVM本身的某些段错误)会危害隐私敏感数据.
是否有任何措施可以降低这些风险? 这个问题是POSIX特定的,但是给了我这些平台的答案.我有一个非平台特定的想法,包括设置UncaughtExceptionHandler(像这样)一个将覆盖敏感数据的类.但是,如果换掉内存怎么办?如果由于JVM/JNI错误导致JVM崩溃(例如分段错误)怎么办?我知道Linux可以阻止数据交换到磁盘,但是有一个Java代码可以跨平台吗?大多数情况下,我担心磁存储设备上的数据恢复的可能性,所以任何帮助都是值得赞赏的.
我正在尝试使用Visual Studio 2010和WPF在C#中编写Outlook Addin,结果很难调试.我希望VS在启动时自动附加到OUTLOOK.EXE,这样我就可以轻松点击断点.所以,我进入了项目的属性>调试选项卡>启动操作,并将此设置从"启动项目"(当然这不起作用,因为它是一个DLL)更改为"启动外部程序".
这似乎有效; Outlook启动,显然附加了调试器.但是,没有遇到任何断点.我注意到当我进入"附加到进程"对话框时,它说Outlook只运行x86(我认为这是不正确的,因为我的manged代码在该地址空间中运行 - 对吗?),所以在Debug选项卡中我单击"设置"面板"启用非托管代码调试",现在我已经没有想法了.我也无法暂停这个过程,因为我收到一个错误,告诉我该进程没有运行我选择调试的代码类型.我知道我的Addin肯定是加载并执行的,因为我可以看到它正常工作.
作为一种解决方法,我一直在使用System.Diagnostics.Debugger.Launch(),这很烦人,但它的工作原理.有任何想法吗?
对于我正在编写的程序,我想使用TLS(或类似的东西)来封装我的应用程序的协议.这将最大限度地减少我必须完成的工作量以及我可能意外创建的漏洞数量.
我的程序设计为点对点,尽管一个或多个服务器提供一些服务来帮助一个用户找到另一个(它注册IP地址/端口组合),但几乎没有.我想使这个系统具有容错能力,因此将这些服务器充当证书颁发机构是不可接受的,因为服务器或其密钥的泄露会影响太多用户.因此,我计划使用Web of Trust.
使用TLS的主要问题是原始TLS 1.2规范(RFC 5246)不提供使用OpenPGP证书.它似乎非常以x.509为中心.RFC 6091废弃了RFC 5081并扩展了RFC 5246,它为TLS做了扩展,可以满足我的需要.问题是我不认为BouncyCastle实现了这个扩展,我找不到一个Java加密库.我也不想写我自己的/贡献BC,因为我真的很擅长不犯错误而且我也很懒惰.
另一个问题是BouncyCastle提供"轻量级客户端TLS API"但是因为这个软件是P2P,所以还需要服务器端API,以便我可以使用TLS使其相信发起连接的对等体是客户端.我很确定一旦握手完成它就是一样的.
问题: 有什么方法我仍然可以使用TLS(我非常怀疑)?是否有像TLS这样的协议专为P2P设计,或者至少可以这种方式运行(比如我相信TLS可以),但是可以使用OpenPGP证书吗?如果不是这种情况,我是否应该追求这个问题中解释的想法并实施我自己的TLS概念层?
我有一堆人名.它们都是"西方"的名字,我只需要美国的公约/缩写(例如,先生而不是高级的señor).不幸的是,我发送东西的人没有输入自己的名字,所以我不能问他们想要叫什么.我知道每个人的性别和他们的全名,但没有真正解析出更具体的事情.
一些例子:
我希望能够解析每个名称的部分内容:
name = Name.new("John Smith Jr.")
name.first_name # <= John
name.greeting # <= Mr. Smith
Run Code Online (Sandbox Code Playgroud)
如果我正在寻找"问候"(可能不是最好的术语),我想要的是1-4,"史密斯先生".对于5岁,我想要史密斯博士,但我会选择史密斯先生.
Ruby的宝石就是理想的选择.我被启发要求Chronic这个奇怪的东西,一个以非常人性化的方式处理时间的Ruby宝石,让我正确地告诉它"上周二",并让它得出一些明智的东西."有些算法足以满足大多数人的要求.角落案件.
我正在努力解决虚假程序员提出的一些问题
security ×5
java ×3
bouncycastle ×2
cryptography ×2
debugging ×2
encryption ×2
aes ×1
algorithm ×1
block-cipher ×1
concurrency ×1
database ×1
eclipse ×1
exception ×1
go ×1
goroutine ×1
jvm ×1
migration ×1
parsing ×1
postgresql ×1
semaphore ×1
sql-server ×1
ssl ×1
swap ×1