OSDN Git Service

- add crypto-js library(for new hash access method).
[feedblog/feedblog.git] / js / crypto-js / components / pad-zeropadding.js
1 /*
2 CryptoJS v3.1.2
3 code.google.com/p/crypto-js
4 (c) 2009-2013 by Jeff Mott. All rights reserved.
5 code.google.com/p/crypto-js/wiki/License
6 */
7 /**\r
8  * Zero padding strategy.\r
9  */\r
10 CryptoJS.pad.ZeroPadding = {\r
11     pad: function (data, blockSize) {\r
12         // Shortcut\r
13         var blockSizeBytes = blockSize * 4;\r
14 \r
15         // Pad\r
16         data.clamp();\r
17         data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);\r
18     },\r
19 \r
20     unpad: function (data) {\r
21         // Shortcut\r
22         var dataWords = data.words;\r
23 \r
24         // Unpad\r
25         var i = data.sigBytes - 1;\r
26         while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {\r
27             i--;\r
28         }\r
29         data.sigBytes = i + 1;\r
30     }\r
31 };\r