小编use*_*719的帖子

如何在java服务器端解密cryptojs AES加密消息?

我有以下基于cryptojs的javascript加密/解密函数,它们工作得很好.

我使用随机盐,随机iv值和特定密码,同时使用cryptpjs加密消息.我重复使用相同的salt,iv和密码来生成密钥,同时解密加密的消息.

这部分效果很好..

function  encrypt(){
  var salt = CryptoJS.lib.WordArray.random(128/8);
  var iv = CryptoJS.lib.WordArray.random(128/8);
  console.log('salt  '+ salt );
  console.log('iv  '+ iv );
  var key128Bits = CryptoJS.PBKDF2("Secret Passphrase", salt, { keySize: 128/32 }); 
  console.log( 'key128Bits '+ key128Bits);
  var key128Bits100Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, { keySize: 128/32, iterations: 100 });
  console.log( 'key128Bits100Iterations '+ key128Bits100Iterations);
  var encrypted = CryptoJS.AES.encrypt("Message", key128Bits100Iterations, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7  });
  console.log('encrypted   '+ encrypted  );
}

function  decrypt(){
  var salt = CryptoJS.enc.Hex.parse("4acfedc7dc72a9003a0dd721d7642bde");
  var iv = CryptoJS.enc.Hex.parse("69135769514102d0eded589ff874cacd");
  var …
Run Code Online (Sandbox Code Playgroud)

java encryption aes cryptojs

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

IE 11浏览器在尝试访问App Cached离线页面时显示"您未连接到网络"页面

背景:

我已经建立了一个甚至可以脱机工作的网页.本页面遵循"AppCache"指南.

我的网络浏览器是HP Windows 8平板电脑上的IE11.

当我点击物理服务器(Oracle weblogic)上页面的直接URL时,我就可以访问该页面了.即使我关闭网络连接,也可以通过IE11浏览器访问同一页面.

问题:

当我通过公司网关(F5和OHS)访问同一页面时,当有网络连接时,该页面可用.但是一旦我关闭了网络连接,我就会看到" 你没有连接到网络 "页面.

当我连接回网络并尝试访问同一页面时,我可以看到我的页面请求的资源都是从本地缓存浏览器提供的(我通过IE开发人员工具检查网络).

我不确定发生了什么.即使没有连接,我也想访问我的页面.

注意:

我的网页只能通过网关使用"HTTPS"访问.我直接访问服务器的地方使用'HTTP'

internet-explorer offline-caching offlineapps html5-appcache internet-explorer-11

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

如何加密pouchdb数据库

背景:

我正在尝试使用crypto-pouch库加密pouchdb数据库.我查看了https://github.com/calvinmetcalf/crypto-pouch上显示的示例 但它似乎对我没有任何作用.

我的代码:

<!DOCTYPE html>
<html ng-app="pouchdbApp">
 <head>
   <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
   <script src="pouchdbDemo.js"></script>
   <script src="http://cdn.jsdelivr.net/pouchdb/5.2.1/pouchdb.min.js"></script>
   <!-- <script src="crypto-pouch-master/bundle.js"></script> -->
   <script src="http://wzrd.in/standalone/crypto-pouch"></script>

   <script>
       var db = new PouchDB('kittens2');

       var password = "mypassword";

      db.crypto(password).then(function (publicKey) {
            console.log("publicKey");
   	    console.log(publicKey);
       });
   
       /* db.removeCrypto();  */

       var doc = {
		  "_id": "mittens",
		  "name": "Mittens",
		  "occupation": "kitten",
		  "age": 3,
		  "hobbies": [
		    "playing with balls of yarn",
		    "chasing laser pointers",
		    "lookin' hella cute"
 		   ]
		};
      
      db.put(doc);

      db.get('mittens').then(function (doc) {
         console.log(doc);
      });

   </script>

 </head>
 <body>

 </body>

</html> …
Run Code Online (Sandbox Code Playgroud)

javascript encryption offline browser-cache pouchdb

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

谷歌缓存可以在集群环境中工作吗

我正在使用谷歌缓存在单例 ejb 中缓存数据。并且缓存的资源被多个 ejb 使用。但是现在不确定如果部署在可以存在多个 JVM 的多节点集群环境中,同一个应用程序是否可以工作。

请指教!

guava google-guava-cache jakarta-ee

3
推荐指数
1
解决办法
3751
查看次数

什么是Facelets以及它与JSF有什么关系?

对JSF来说很新,当我阅读教程时,我很容易在JSF和Facelets之间混淆......

什么是Facelets?JSF和Facelets是一样的吗?...

Facelets与JSTL有何不同?

java jsf facelets

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

在使用密码加密消息时,crypto-js内部使用的AES参数和步骤是什么?

背景: 我正在处理的应用程序应该脱机工作.我应该使用密码作为Java服务器端的密钥加密一些文本数据.加密数据传递到HTML5页面,在客户端使用crypto-js库,应解密服务器加密数据.

我的问题: 为了加密我的消息,客户端可以使用crypt-js解密它(使用用户输入的密码),我需要知道加密消息时crypto-js所期望的确切步骤.

我需要知道的是: 我有以下加密代码,它使用crypto-js在客户端加密消息.

var message = "my message text";
var password = "user password";
var encrypted = CryptoJS.AES.encrypt( message ,password );
console.log(encrypted.toString());
Run Code Online (Sandbox Code Playgroud)

我需要知道加密消息时CryptoJS使用的AES参数(不确定它们是什么,但听起来像:密钥大小(256),填充(pkcs5),模式(CBC),PBE算法(PBKDF2),盐(随机),迭代计数(100)).如果有人能证实这一点,那将是一个很大的帮助......过去几天我一直试图解开这个谜团?

我需要知道在加密消息时CryptoJS执行的不同步骤

javascript security encryption cryptojs

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

解密加密消息时cryptojs抛出的异常

我在尝试解密加密消息时遇到异常.我的解密javascript代码如下.我有点不知道发生了什么.我做了一些调试,可以看到密码核心库中的Base64未定义...

function  decrypt(){
    var salt = CryptoJS.enc.Hex.parse("3A79D3242F9D0DCE0C811DCCE7F830C5");
    var iv = CryptoJS.enc.Hex.parse("9BCBD77036744C7F26DF591AE6A772C6");
    var encryptedBase64 =   "eKCnyuKiH3lvknsNZq9hARCr6xtDLU/De7sPc3RPSRFAh7WCurBKmDZx/Ol0mbROBtAJBCT0+U927iygd4GspQ==";
    var key = CryptoJS.PBKDF2("passwordA", salt, { keySize: 128/32, iterations: 100 });   
    console.log('key '+key); 
    var encryptedStr = encryptedBase64; //CryptoJS.enc.Base64.parse(encryptedBase64);
    console.log('encryptedStr  : '+ encryptedStr );    
    var decrypted = CryptoJS.AES.decrypt(encryptedStr, key, { iv: iv, mode:        CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });  
    console.log('decrypted : '+ decrypted);    
    var decryptedText = decrypted.toString(CryptoJS.enc.Utf8); 
    console.log('decrypted text : '+ decryptedText);    
}
Run Code Online (Sandbox Code Playgroud)

我得到以下异常

TypeError: Cannot read property 'parse'
of undefined at Object.m.OpenSSL.parse(http: //domain.com/PEMSWeb/offlinePageDemo/offlineInspectionApp/CryptoJSv3.1.2/components/cipher-core-min.js:12:101)
at Object.f.SerializableCipher.k.extend._parse(http: //domain.com/PEMSWeb/offlinePageDemo/offlineInspectionApp/CryptoJSv3.1.2/components/cipher-core-min.js:13:220)
at …
Run Code Online (Sandbox Code Playgroud)

javascript encryption cryptojs

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

清除浏览器历史记录后,使用pouch db存储到浏览器db中的数据将丢失

背景:

我的HTML5离线应用程序将大量数据存储到本地浏览器数据库中.我使用pouchdb3.3.1与inbrowser数据库通信,以便在浏览器中存储数据.一切都在正常情况下运作良好.我能够存储数据并在需要时将其检索回来.

问题:

当用户手动清除浏览器历史记录时,清除浏览器数据库中存储的所有数据.这个问题发生在IE11,Chrome36(这些是我的机器中的浏览器).

有没有办法在清除浏览器历史记录时保留浏览器数据库中存储的数据.

html5 google-chrome web-sql indexeddb pouchdb

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