草庐IT

public-key-encryption

全部标签

php - 在 PHP 中确定性地从密码派生 32 字节 key

今天我了解到,“password”往往表示任意数量字符的可内存字符串,而“key”表示高度随机的位串(的基于所使用的加密算法的特定长度)。所以今天我第一次听说了Keyderivationfunction的概念.我对如何从任意长度的密码(在PHP中)派生出32字节的key感到困惑。以下方法有效但忽略了theinstruction“[盐]应该随机生成”(Sodium也是如此):$salt='thissaltremainsconstant';$iterations=10;$length=32;$aesKey=hash_pbkdf2('sha256',$somePasswordOfArbitr

java - 如何强制 ProGuard 删除公共(public)静态方法?

我的应用程序中有多个类提供publicstaticvoidmain(String[]args)方法。这些方法只在开发/测试期间需要,我希望ProGuard删除它们(但只有这些方法,而不是整个周围的类)。我试过使用-assumenosideeffects,但这似乎只影响对方法的调用,而不影响方法本身。我如何强制Proguard删除整个main()方法,尽管它们是public和static? 最佳答案 ProGuard需要种子来确定需要保留哪些类/方法。从这些种子中引用的任何内容也将被保留。-assumenosideeffects选项用

Java SecurityManager @Override public void checkPermission(Permission perm)

我正在构建一个SWING应用程序,还需要编写一个自定义SecurityManager。如果我写一个像这样扩展SecurityManager的空类publicclassSandboxextendsSecurityManager{}它工作正常,这意味着GUI被正确呈现并且所有权限(如I/O)都被撤销。但是,我需要自定义checkPermission方法,每当我重写它时,它就不再起作用了……为什么连这样的东西都不行??publicclassSandboxextendsSecurityManager{@OveridepublicvoidcheckPermission(Permissionper

连接到公共(public) ip 地址的 Java 套接字

我需要制作一个服务器和连接到服务器的客户端。问题:“服务器正常工作。客户端只能连接到本地主机,无法连接到互联网上的服务器。我希望客户端通过公共(public)ip连接到服务器-服务器所在的地址。”首先,我已确保端口已转发且可访问,我已经测试了该端口,其次我已从服务器计算机完全禁用防火墙。下面是我使用的测试代码:服务器:没什么特别的,只是简单-如果客户端已连接则终止,否则只是等待连接。publicclassServer{publicstaticvoidmain(Stringargs[]){try{ServerSocketsrvr=newServerSocket(52000);srvr.a

java - “No Public Class” 在它的包中真的可以到达吗?

这个问题在这里已经有了答案:Whatareauxiliaryclasses?(2个答案)关闭6年前。在《ThinkinJava》中,作者说:Youjustleavethe"public"keywordofftheclass,inwhichcaseithaspackageaccess.(Thatclasscanbeusedonlywithinthatpackage.)为了证明这一点,我创建了一个公共(public)类和一个非公共(public)类:packagecom.ciaoshen.thinkinjava.chapter7;importjava.util.*;//Mypubliccl

java - 解密加密文件内容?

我在使用RSA公钥解密解密文件时遇到问题。我的流程是接收xml文件,加密内容,写回同一个文件。另一个函数解密内容。我的源代码是:publicvoiddecryptFile(StringfileName,PrivateKeyprivateKey)throwsException{Ciphercipher=Cipher.getInstance("RSA/ECB/PKCS1Padding");cipher.init(Cipher.DECRYPT_MODE,privateKey);FileInputStreamfis=newFileInputStream(fileName);Filefile=n

java - 带 SSL 的简单 RMI 服务器

尝试使用SSL加密设置一个简单的RMI服务器。它适用于具有Java服务器应用程序和Java客户端应用程序的简单聊天应用程序,但是,目前我什至无法使用简单的RMI示例让它工作!我能让它工作的唯一方法是客户端和服务器都具有相同的信任库和keystore。不过对我来说,这听起来不正确,因为这意味着每个客户端也有服务器的私钥。我关注了thisguide创建信任/keystore。我首先尝试生成一个keystore和信任库,然后用keystore运行服务器,用信任库运行客户端。这没有用,所以我随后为每个生成一对并加载,如下面的代码所示。它认为我可能在某处遗漏了一些明显的东西,只是我终其一生都无法

java - 公共(public) JAR 是否必须在 EAR 中的 WAR 中重复?

我有一个用于授权的JAR文件。我的每个WAR文件都需要它。所有WAR文件都打包在一个EAR文件中。我是否必须在每个WAR中重复这个通用JAR,或者是否有通用库的结构?所以我的例子看起来像这样......big.ear-META-INF-MANIFEST.MF-application.xml-appl1.war-META-INF-MANIFEST.MF-WEB-INF-web.xml-lib-unique1.jar-unique2.jar-unique3.jar-common1.jar-jsps/html/etc-appl2.war-META-INF-MANIFEST.MF-WEB-IN

java - 在 CI 环境中,在哪里保存 Maven 项目的 GPG key ?

我正在尝试使用maven-gpg-plugin:sign为了在部署到SonatypeOSS存储库之前签署项目Artifact。问题是我应该在哪里保存我的keysecring.gpg:在持续集成~/.gnupg目录下在项目源代码中,例如src/test/resources/gpg/secring.gpg为什么? 最佳答案 如果key是敏感的,将它放在CI服务器上的~/.gnupg目录中,并使用适当的访问修饰符保护该目录。第二种方法将允许每个有权访问项目的开发人员查看key。 关于java-

java - Hibernate 3 Composite key one with GeneratedValue

我在数据库revisions和Pagu上有这两个表在Pagu模型中,我必须组合键:idint(由数据库自动生成)revision_id(修订版的外键)表如何在Hibernate3上实现这个?这是我想出来的@Entity@Table(name="pagu",schema="dbo",catalog="dbname")@IdClass(PaguId.class)publicclassPaguimplementsjava.io.Serializable{privateintid;privateintrevisiId;privateEntitasentitas;privateRevisirev