Search code examples
javascriptangularjsasp.net-web-apimd5hashbytes

Generate HASHBYTES inside the JavaScript file


I have to generate a secure token.This token will be consumed by WebApi. I'm requesting that Webapi through JavaScript file. It is a SPA app. So my question is, can I generate below mentioned token without using the Sql server response ?

The SQL syntax in Microsoft SQL Server to generate such a token is:

SELECT HASHBYTES('MD5', convert(varchar,getdate(),112) + Mysc@re4+)

Solution

  • OP's Feedback :

    I have used angular-md5 module.Here how to use it.

    <body ng-app="YOUR_APP" ng-controller="MainCtrl">
      <img src="http://www.gravatar.com/avatar/{{ email | gravatar }}">
      <input type="email" ng-model="email" placeholder="Email Address">
      {{ message }}
    </body>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
    <script src="app/bower_components/angular-md5/angular-md5.js"></script>
    <script>
      angular.module('YOUR_APP', [
        'angular-md5', // you may also use 'ngMd5' or 'gdi2290.md5' 
        'controllers'
      ]);
      angular.module('controllers', [])
        .controller('MainCtrl', ['$scope', 'md5', function($scope, md5) {
    
          $scope.$watch('email' ,function() {
            $scope.message = 'Your email Hash is: ' + md5.createHash($scope.email || '');
          });
    
        }]);
    </script> 
    

    Another way :

    You can generate an MD5 hash in JavaScript using the Crypto-JS library:

    <html>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/core.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/md5.js"></script>
      <body>
        <script>
          var test = CryptoJS.MD5("string to hash");
          alert(test);
        </script>
      </body>
    </html>