zy_encrypt.js 635 B

12345678910111213141516171819202122232425262728293031323334
  1. function zy_rc4_init(key){
  2. var s = [], j = 0, x, res = '';
  3. for (var i = 0; i < 256; i++) {
  4. s[i] = i;
  5. }
  6. for (i = 0; i < 256; i++) {
  7. j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;
  8. x = s[i];
  9. s[i] = s[j];
  10. s[j] = x;
  11. }
  12. return s;
  13. }
  14. function zy_rc4(str,s) {
  15. var i = 0;
  16. var j = 0;
  17. var res="";
  18. var k=[];
  19. k=k.concat(s);
  20. for (var y = 0; y < str.length; y++) {
  21. i = (i + 1) % 256;
  22. j = (j + k[i]) % 256;
  23. x = k[i];
  24. k[i] = k[j];
  25. k[j] = x;
  26. res += String.fromCharCode(str.charCodeAt(y) ^ k[(k[i] + k[j]) % 256]);
  27. }
  28. return res;
  29. }
  30. function zy_rc4ex(str,key)
  31. {
  32. var s=zy_rc4_init(key);
  33. return zy_rc4(str,s);
  34. }