2017-05-22 5 views
0

Cette question sachant que l'obscurcissement est pas un moyen fort pour protéger le code ...Bonne façon de obfusquer code Javascript dans Gulp

En utilisant Gulp, je suis à la recherche d'un moyen pour empêcher le contenu de mon application à apparaître d'une manière trop évidente. Je ne manipule pas les données sensibles, mais je ne voudrais pas que mon code minifié soit trop évident pour être modifié.

Vous avez essayé de réduire en miettes et de gulp-uglifier, mais soit mon utilisation est mauvaise, soit ils ne remplissent pas mes besoins.

besoins être: - fonction renommer - renommage - chaîne obscurcissement (au moins empêcher la chaîne d'être lisible par l'homme au premier coup d'oeil) - pas plus de 2x le stockage a besoin

Quelle serait la approches suggérées, prospects, plugins?

Merci à l'avance,

+0

Copie possible de [Comment est-ce que je peux obscurcir (protéger) JavaScript?] (Https://stackoverflow.com/questions/194397/how-can-i-obfuscate-protect-javascript) –

+0

Merci. Ces solutions ne fonctionnent pas non plus, je vais revoir mon processus étape par étape. Bust être un problème là-bas quelque part. – Jem

Répondre

0

Jusqu'à présent, le plus efficace (dans mon cas) est de tuyau le code suivant, qui applique simplement la rotation de caractères:

function obfuscate(text, key, n = 126) { 
     // return String itself if the given parameters are invalid 
     if (!(typeof(key) === 'number' && key % 1 === 0) 
      || !(typeof(key) === 'number' && key % 1 === 0)) { 
      return text.toString(); 
     } 

     var chars = text.toString().split(''); 

     for (var i = 0; i < chars.length; i++) { 
      var c = chars[i].charCodeAt(0); 

      if (c <= n) { 
       chars[i] = String.fromCharCode((chars[i].charCodeAt(0) + key) % n); 
      } 
     } 

     return chars.join(''); 
    }, 

    function defuse(text, key, n = 126) { 
     // return String itself if the given parameters are invalid 
     if (!(typeof(key) === 'number' && key % 1 === 0) 
      || !(typeof(key) === 'number' && key % 1 === 0)) { 
      return text.toString(); 
     } 

     return obfuscate(text.toString(), n - key); 
    } 
1

Essayez ça: Javascript Obfuscator. Pour autant que je sache, il est presque impossible de rétablir le code obfusqué à l'original.