Git Product home page Git Product logo

spas's Introduction

SPRDS Library Documentation

The SPRDS library is a comprehensive toolkit designed for handling TLS, JWT, and data validation in a seamless manner. Developed originally in Go and compiled to JavaScript, this library provides robust security features essential for modern web applications.

Table of Contents

Introduction

The SPRDS library offers a range of functionalities, including:

  • TLS Certificate and Key Generation: Create and manage TLS certificates and private keys.
  • JWT Generation and Validation: Securely generate and validate JSON Web Tokens.
  • Data Validation: Validate user data against customizable rules.

Installation

To install the SPRDS library, you can use npm:

npm install sprdss

TLS Functions

The TLS functionalities in the spas library are provided through the gotsjs.js module.

Benefits

Ensures secure communication via TLS. Simplifies the process of generating and managing TLS certificates.

Functions

generitiWaAhfedCert(certPath, keyPath, outputDir): Generates a TLS certificate and private key.

Example

    const sps = require('sprdss');
    sps.generitiWaAhfedCert('certificate.pem', 'private_key.pem', './certs');
    console.log('Certificate and Private Key generation initiated.');

JWT Functions

The JWT functionalities in the spas library are provided through the gowtjs.js module.

Benefits

Provides secure token-based authentication. Easy generation and validation of JWT tokens.

Functions

generateToken(secretKey, expiration, username, role): Generates a JWT token. validateToken(token, secretKey): Validates a JWT token.

Example

      const sps = require('sprdss');
      const secretKey = 'supersecretkey';
      const expiration = 3600; // 1 hour
      const username = 'user123';
      const role = 'admin';
      
      const token = sps.generateToken(secretKey, expiration, username, role);
      console.log('Generated Token:', token);
      
      const validationResult = sps.validateToken(token, secretKey);
      console.log('Validation Result:', validationResult);

Data Validation

The data validation functionalities in the spas library are provided through the SagemLData.js module.

Benefits

Ensures data integrity and correctness. Flexible and customizable validation rules. Functions and Classes SagemLData: Main class for data validation. SagemLiThab(validatorName, validationFunction): Adds a custom validation function. SagemEZ(data, rules): Validates data against the specified rules.

Example

        const { SagemLData } = require('sprdss');
        const sps = new SagemLData();
        
        // Adding a custom validator for age
        sps.SagemLiThab('ageValidator', async (value) => {
          const minAge = 18;
          const maxAge = 100;
          if (typeof value !== 'number') return false;
          return value >= minAge && value <= maxAge;
        });
        
        // Sample user data
        const userData = {
          username: 'user123',
          password: 'securepassword',
          email: '[email protected]',
          age: 25,
        };
        
        // Validation rules for the user data
        const validationRules = {
          username: { type: 'string', minLength: 4, maxLength: 20 },
          password: { type: 'string', minLength: 8 },
          email: { type: 'string', format: 'email' },
          age: { type: 'number', custom: 'ageValidator' },
        };
        
        (async () => {
          try {
            const validationResult = await sps.SagemEZ(userData, validationRules);
            if (validationResult.isValid) {
              console.log('User data is valid!');
            } else {
              console.error('Validation errors:', validationResult.errors);
            }
          } catch (error) {
            console.error('Async validation error:', error);
          }
        })();

Contributing

We welcome contributions to the SPRDS library. If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

© 2024 SPRDS. All rights reserved.

spas's People

Contributors

sprdgx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.