小编Jam*_*olk的帖子

从android的webview访问JSON响应

在Android上,我有一个webView.我正在加载url它.首先,我得到一个登录页面,Facebook在填写登录详细信息后,它给了我一个JSON Response相同的webView.

我正在使用此代码来加载它,URL但现在我不知道如何JSON Responsestring我完成的内容中得到它url.

WebViewClient yourWebClient = new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        wb.loadUrl("javascript:window.HTMLOUT.processHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
    }
};
wb = (WebView) findViewById(R.id.webview);
wb.getSettings().setJavaScriptEnabled(true);
wb.getSettings().setSupportZoom(true);
wb.getSettings().setBuiltInZoomControls(true);
wb.setWebViewClient(yourWebClient);
wb.loadUrl("http://pqrs.abcde.com/facebook");
Run Code Online (Sandbox Code Playgroud)

格式JSON Response是:

{"status":"success","msg":"You have successfully logged in."}
Run Code Online (Sandbox Code Playgroud)

java android json webview

6
推荐指数
1
解决办法
1万
查看次数

java中AES解密算法的例外

我在下面的代码中得到了一个例外,用于java中的AES算法.

代码解密加密的字符串并返回原始字符串.

Plz帮助我解决这个问题.

码:

public class AES 

{

public byte[] encrypted;

 public byte[] original;

 public String originalString;

public static String asHex (byte buf[]) 

{ 

StringBuffer strbuf = new StringBuffer(buf.length * 2);

 int i; for (i = 0; i < buf.length; i++) 

{

 if (((int) buf[i] & 0xff) < 0x10) strbuf.append("0"); 

strbuf.append(Long.toString((int) buf[i] & 0xff, 16)); 

}

 return strbuf.toString();

 }

 public String AESencryptalgo(byte[] text)

 { 

String newtext=""; 

// Get the KeyGenerator

 try

 {

    KeyGenerator kgen = KeyGenerator.getInstance("AES");

    kgen.init(128); // 192 and …
Run Code Online (Sandbox Code Playgroud)

java encryption

5
推荐指数
2
解决办法
1万
查看次数

.net源加密程序真的有用吗?

.net源加密程序真的有用吗?

.Net IL代码可以很容易地被反编译.有一些加密软件声称他们可以隐藏黑客的来源.

这是真的吗?

c#

5
推荐指数
2
解决办法
402
查看次数

RSA和AES解密和加密问题

我在我的Android应用程序上生成了一对RSA密钥.

我收到一个Web服务 - 一个AES密钥,用我的RSA公钥加密 - 一个用AES密钥编码的字符串.

所以我必须执行以下操作: - 解密AES密钥 - 使用获得的AES密钥解密字符串.

为了生成RSA密钥我做了:

 keyGen = KeyPairGenerator.getInstance("RSA");
  keyGen.initialize(size);
  keypair = keyGen.genKeyPair();
  privateKey = keypair.getPrivate();
  publicKey = keypair.getPublic();
Run Code Online (Sandbox Code Playgroud)

在RSA解密我使用:

public static byte[] decryptRSA( PrivateKey key, byte[] text) throws Exception
      { 
          byte[] dectyptedText = null;

          Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
          cipher.init(Cipher.DECRYPT_MODE, key);
          dectyptedText = cipher.doFinal(text);
          return dectyptedText;
      }
Run Code Online (Sandbox Code Playgroud)

在AES解密我使用:

public static byte[] decryptAES(byte[] key, byte[] text) throws Exception {   
            SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");   
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS1Padding");   
            cipher.init(Cipher.DECRYPT_MODE, skeySpec);   
            byte[] decrypted = cipher.doFinal(text); …
Run Code Online (Sandbox Code Playgroud)

java android rsa aes

5
推荐指数
1
解决办法
5167
查看次数

Java - 使用blowfish加密时缺少最终字符

我正在使用一些使用Blowfish加密文本文件内容的j​​ava代码.当我将加密文件转换回来(即解密它)时,字符串从末尾开始缺少一个字符.有什么想法吗?我是Java的新手,并且在没有运气的情况下花了好几个小时.

war_and_peace.txt文件只包含字符串"This is some text".decrypted.txt包含"这是一些tex"(最后没有t).这是java代码:

public static void encrypt(String key, InputStream is, OutputStream os) throws Throwable {
    encryptOrDecrypt(key, Cipher.ENCRYPT_MODE, is, os);
}

public static void decrypt(String key, InputStream is, OutputStream os) throws Throwable {
    encryptOrDecrypt(key, Cipher.DECRYPT_MODE, is, os);
}

private static byte[] getBytes(String toGet)
{
    try
    {
        byte[] retVal = new byte[toGet.length()];
        for (int i = 0; i < toGet.length(); i++)
        {
            char anychar = toGet.charAt(i);
            retVal[i] = (byte)anychar;
        }
        return retVal;
    }catch(Exception e)
    {
        String errorMsg = "ERROR: getBytes …
Run Code Online (Sandbox Code Playgroud)

java encryption blowfish

5
推荐指数
2
解决办法
6671
查看次数

在 h 标签之后查找 'p' 标签

我想找到从网页中提取标题和段落文本。问题是在具有相同标题标签和段落标签的标题之后有灵活数量的标题和段落。

示例 HTML -

<h6>PHYSICAL DESCRIPTION</h6>

<p>
    <strong class="offender">YOB:</strong> 1987<br />
    <strong class="offender">RACE:</strong> WHITE<br />
    <strong class="offender">GENDER:</strong> FEMALE<br />
    <strong class="offender">HEIGHT:</strong> 5'05''<br />
    <strong class="offender">WEIGHT:</strong> 118<br />
    <strong class="offender">EYE COLOR:</strong> GREEN<br />
    <strong class="offender">HAIR COLOR:</strong> BROWN<br />
</p>


<h6>SCARS, MARKS, TATTOOS</h6>
<p>     
  &nbsp;    
</p>
Run Code Online (Sandbox Code Playgroud)

我使用的代码如下 -

sub = soup.findAll('h6')
    print sub.text

sub = soup.findAll('p')
for strong_tag in sub.find_all('strong'):
    print strong_tag.text, strong_tag.next_sibling
Run Code Online (Sandbox Code Playgroud)

由于标头中不包含 p 标签,我不确定如何处理 HTML 以使其写入。

有没有一种方法可以将 HTML 视为文件并找到下一个 h6 标签,然后找到下一个 p 标签并一直这样做到最后?

python beautifulsoup web-scraping

5
推荐指数
1
解决办法
3914
查看次数

最大限度地减少多线程环境中的 SecureRandom 性能问题?

(这是 SLES 上的 Java 8 和 Tomcat 8,FWIW。)

当我在多个线程中使用单个实例时,在初始播种我需要多么担心性能问题SecureRandom(特别是提供者SHA1PRNG的算法SUN) ?是线程安全的,因此这意味着一定程度的潜在争用?SecureRandomSecureRandom

我在 Java 8 Javadocs 中没有看到任何讨论这一点的内容,SecureRandom尽管我看到 Javadocs确实特别警告了跨线程Random使用单个实例时的争用和性能下降。Random

我们正在考虑使用单个实例,因为从我们看来,在我们的方法(用于IV 生成)中SecureRandom获取新实例的成本太高,因为如果您在使用新实例之前使用几次,那么播种开销就会杀死您。完成了。SecureRandomencrypt()SecureRandomSecureRandom

或者,我们正在考虑让ThreadLocal<SecureRandom>包含该encrypt()方法的类有一个静态成员,以便每个SecureRandom线程使用一个静态成员。我们故意调用,因为如果我们走这条路线,我们实际上希望实例尽可能长时间地“存活”在 tomcat 线程中(以最小化创建ThreadLocal.remove()新实例的次数)。SecureRandom

从这里阅读有关ThreadLocal内存泄漏的内容后,我对这种方法有些担忧。然而,我们实际上从不重新部署 web 应用程序。它用在嵌入式系统中,当 webapp 升级时(这是整个系统升级的一部分,一年只发生几次)Tomcat 完全关闭,新的 war 文件被删除,Tomcat 重新启动。这似乎会让与 Web 应用程序相关的ThreadLocal泄漏变得毫无意义。

那么,是否有任何关于“有争议”程度的良好数据SecureRandom,以及对于如何SecureRandom在重度多线程环境中最正确地使用达成共识?

java encryption multithreading tomcat thread-local

5
推荐指数
1
解决办法
2839
查看次数

如何使 PKCS12 (PKCS#12) 在 .p12 容器中包含多个私钥?

我使用 Openssl 创建一个 PKCS12 .p12 容器,存储私钥、服务器证书和 CACertificate(自签名),并且我能够成功导出/解析相同的内容。

但我想知道如何将多个私钥添加到同一个容器中。例如 - 我有 2 组服务器证书和 2 个私钥,我需要将它们添加到单个 .p12 容器中。我想从该 .p12 容器中分别解析和提取两个私钥以及 2 个服务器证书。

链接中,提到可以这样做,但没有关于如何实现它的答案。

我怎样才能实现这个目标?如何将私钥(PK1 和 PK2)和服务器证书(C1、C2)保存到 .p12 中并使用 OpenSsl 提取它们?

openssl key-management pkcs#12 private-key

5
推荐指数
0
解决办法
1846
查看次数

三重 DES 加密字符串生成“\n”

加密字符串时,它会'\n'在字符串末尾生成。

这就是我进行加密的方式

public static String encrypt(String plainText) throws Exception {
        byte[] tdesKeyData = Consts.getSecretKey().getBytes();
        byte[] myIV = Consts.getInitializationVector().getBytes();
        SecretKeySpec myKey = new SecretKeySpec(tdesKeyData, "DES");
        IvParameterSpec ivspec = new IvParameterSpec(myIV);
        Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS7Padding");
        cipher.init(Cipher.ENCRYPT_MODE, myKey, ivspec);

        byte[] plainTextBytes = plainText.getBytes("UTF-8");
        byte[] buf = cipher.doFinal(plainTextBytes);
        byte[] base64Bytes = Base64.encode(buf, Base64.DEFAULT);
        String base64EncryptedString = new String(base64Bytes);
        return base64EncryptedString;
    }
Run Code Online (Sandbox Code Playgroud)

请有人指导我,我在这里做错了什么?提前致谢。

java encryption android des

5
推荐指数
1
解决办法
296
查看次数

具有巨大数字的基本数学运算

大数字,我的意思是,如果你采用一个千兆字节(而不是4/8字节等),并尝试添加/减去/乘以/除以一些其他任意大(或小)的数字.

加法和减法相当容易(一次一个k/m /字节):

out_byteN = a_byteN + b_byteN + overflowBit 
Run Code Online (Sandbox Code Playgroud)

对于每个字节,因此我可以在读取磁盘中的数字时进行加/减,而不会冒RAM耗尽的风险.

对于乘法/除法,只需在循环中执行上述操作即可.

但是拿一个巨大数字的第n根呢?

c math bignum

4
推荐指数
2
解决办法
1819
查看次数