在下面的代码中为什么x和y字符串而不是整数?网上的所有内容都说要使用raw_input(),但是我读input()了raw_input()在Python 3.x中重命名的Stack Overflow(在一个不处理整数输入的线程上).
play = True
while play:
x = input("Enter a number: ")
y = input("Enter a number: ")
print(x + y)
print(x - y)
print(x * y)
print(x / y)
print(x % y)
if input("Play again? ") == "no":
play = False
Run Code Online (Sandbox Code Playgroud) 我正在使用Java的SSLSocket来保护客户端和服务器程序之间的通信.服务器程序还提供来自Web浏览器的HTTPS请求.
根据" 使用Java进行初始加密 ",第371页,您应始终呼叫setEnabledCipherSuites您的SSLSocket/ SSLServerSocket以确保最终协商的密码套件足够强大以满足您的需要.
话虽这么说,调用我SSLSocketFactory的getDefaultCipherSuites方法会产生180个选项.这些选项范围从TLS_RSA_WITH_AES_256_CBC_SHA(我认为相当安全)到SSL_RSA_WITH_RC4_128_MD5(不确定这是否安全,给定MD5的当前状态)到SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA(不完全确定它是什么).
什么是限制套接字的密码套件的合理列表?
请注意,客户端和服务器可以访问Bouncy Castle服务提供商,并且他们可能安装或不安装无限制的加密策略文件.
出于各种愚蠢的原因,我们发布到外部服务器的给定表单变量的最大长度为12个字符.
我想用md5模糊这个值,但很明显有12个字符不起作用.是否有一个已经制作的PHP函数的密码,这将导致12个字符或更少的字符?
密码的安全性和完整性在这里并不是非常重要.我的最后一招是编写一个函数,将每个字母向上或向下移动一个ascii值x.所以我们的目标不是让它从密码学专家那里模糊不清,而只是不以纯文本形式发布它,这样看着它的非技术工作者就不会知道它是什么.
谢谢你的建议.
我无法在Tomcat中禁用弱SSL密码,如许多地方所述,例如http://www.techstacks.com/howto/secure-ssl-in-tomcat.html.
目前,我的连接器如下所示:
..Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Programs\apache-tomcat-6.0.33\keystore" keystorePass="nn"/>
Run Code Online (Sandbox Code Playgroud)
当我尝试连接(使用IE或ssldigger)时,我在Tomcat中收到以下错误:
java.lang.IllegalArgumentException: Unsupported ciphersuite SSL_RSA_WITH_RC4_128_SHA
at com.sun.net.ssl.internal.ssl.CipherSuite.valueOf(Unknown Source)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.<init>(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.setEnabledCipherSuites(Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.createSSLEngine(NioEndpoint.java:1141)
at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:1096)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1315)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我删除了不受支持的密码(几乎是一个一个),而我唯一支持的密码似乎是SSL_RSA_WITH_RC4_128_MD5
另外,我假设一个不受支持的密码与Tomcats的特定密钥对无关,但更普遍地与广泛可用的密码有关.
这有什么不对?
我最近需要配置CocoaHttpServer,我们在我们的应用程序中成功使用它来处理来自客户端应用程序(在Android设备上运行)的HTTPS连接.这很好 - 有大量的示例代码可以实现这一点,我们能够毫无问题地启用安全服务器.
在实践中,我们看到了令人难以置信的长SSL谈判阶段,而客户端正在与我们的服务器进行握手 - 超过70秒.
通过一系列的搜索,我发现延迟是因为在CFSocket中启用SSL时默认使用的Diffie-Hellman参数的计算.这个帖子是我第一次找到问题答案的地方.
为了匹配我们的Windows服务器正在做的事情(使用安全性较低的SSL密码),我需要在Mac上明确设置密码,这在使用AsyncSocket作为套接字通信的包装器时并不容易.
我们的Windows服务器正在使用:TLS_RSA_WITH_RC4_128_MD5)(0x04)RC4 128位MD5 RSA
我们的Macintosh服务器正在使用:TLS_DHE_RSA_WITH_AES_256_CBC_SHA(0x039)AES 256位SHA-1使用RSA证书进行短暂的Diffie-Hellman密钥交换
"安全性"的差异很大,但可能不值得我们看到的努力/计算/延迟.安全剧院?
我需要删除一个远程分支,并发现这种技术:
git push origin:the_remote_branch
我尝试以下列形式将它传递给Networks Push方法,但似乎没有任何工作(options是我的登录凭据):
_repo.Network.Push(_repo.Network.Remotes["origin"], "origin/:NewBranchForDeletion", options)
_repo.Network.Push(_repo.Network.Remotes["origin"], ":NewBranchForDeletion", options)
_repo.Network.Push(_repo.Network.Remotes["origin"], ":origin/NewBranchForDeletion", options)
_repo.Network.Push(_repo.Network.Remotes["origin"], ":refs/remotes/:origin/NewBranchForDeletion", options)
_repo.Network.Push(_repo.Network.Remotes["origin"], ":refs/remotes/origin/NewBranchForDeletion", options)
_repo.Network.Push(_repo.Network.Remotes["origin"], "refs/heads/:origin/NewBranchForDeletion", options)
_repo.Network.Push(_repo.Network.Remotes["origin"], "refs/heads/:NewBranchForDeletion", options)
Run Code Online (Sandbox Code Playgroud)
还有其他一些选择.我根本无法工作,它会返回错误,例如(对于":NewBranchForDeletion"方法):
不是有效的参考"NewBranchForDeletion"
感谢@Rob在LibGit2Sharp的回购中发现了这条评论:https://github.com/libgit2/libgit2sharp/issues/466#issuecomment-21076975
第一个选项失败,NullReferenceException启用了on objectish,并在上面提到的错误中使用string.Empty了objectish结果.第二个选项是我正在尝试的,除了我使用的是HTTPS验证版本:
repo.Network.Push(repo.Remotes["my-remote"], objectish: null, destinationSpec: "my-branch");
// Or using a refspec, like you would use with git push...
repo.Network.Push(repo.Remotes["my-remote"], pushRefSpec: ":my-branch");
Run Code Online (Sandbox Code Playgroud) 是否存在加密方法,加密和解密顺序是任意的?就像在同一个锁定环上使用两个挂锁一样.
也就是说,如果有两个密钥(或密钥对)K1, K2,消息M和密码C被获得为(例如)C=M*K1*K2(其中*表示加密),则M可以通过以下每种方式检索消息:1)M=C*K1*K2,2)M=C*K2*K1(这里*表示解密).
显然,XOR是一个微不足道的候选人.是否存在任何加密强大的例子?
我有一个WPF程序,当我本地化它时,它失败了.我输入在Window元素中创建了这个XML命名空间,它对应于文件位置:
xmlns:properties="clr-namespace:ResxEditor.Properties"
Run Code Online (Sandbox Code Playgroud)
这就是我如何本地化每个元素:
<Button Content="{x:Static properties:Resources.FilePickerButton_AddFile}" />
Run Code Online (Sandbox Code Playgroud)
设计师工作得很好,我选择时Resources.,自动完成拉取可用的项目,但是当我构建我的应用程序时,它会崩溃并显示以下错误消息:
抛出异常:PresentationFramework.dll中的'System.Windows.Markup.XamlParseException'
其他信息:'为'System.Windows.Markup.StaticExtension'提供价值引发了异常.行号"5"和行位置"9".
行号和位置对应于x我上面给出的命名空间中的第一个.我试着在网上搜索这条消息,我似乎找不到任何东西.
我已阅读维基百科" 但是,对称密码也可用于 ISO 13888-2标准的不可否认性目的."
然后我再次阅读另一个维基页面,"不可否认性,或者更具体地说是不可否认的原产地,是数字签名的一个重要方面.通过这个属性,签署了一些信息的实体以后不能拒绝签名同样,只有访问公钥才能使欺诈方伪造有效签名.这与对称系统相反,对称系统中发送方和接收方共享相同的密钥,因此在争议中第三方不能确定哪个实体是信息的真正来源. "
这意味着一个页面表示对称算法具有不可否认性,另一个页面表示它们没有它,因此它们不用于数字签名.那么对称密钥是否具有不可否认性?因为对称密钥是相同的,所以它们不能用于签名和不可否认是有意义的,因此系统无法区分哪一个属于哪个人,哪个属于谁.在这种情况下,我认为对称密钥是只是一种保密工具,不用于不可否认性或数字签名.
encryption ×7
ssl ×3
c# ×2
cryptography ×2
java ×2
https ×1
input ×1
int ×1
libgit2sharp ×1
md5 ×1
objective-c ×1
php ×1
python ×1
python-2.7 ×1
python-3.x ×1
sockets ×1
tomcat ×1
variables ×1
wpf ×1