import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
// Create a PDF from an HTML string
const pdf = await PdfDocument.fromHtml("<h1>Hello World</h1>");
// Export the PDF to a file
await pdf.saveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external HTML assets: Images, CSS, and JavaScript.
const htmlContentWithAssets = "<img src='icons/iron.png'>";
const advancedPdf = await PdfDocument.fromHtml(htmlContentWithAssets);
// Save the PDF with loaded assets
await advancedPdf.saveAs("html-with-assets.pdf");
})();
Hashids NPM (Comment ça marche pour les développeurs)
Darrius Serrant
octobre 24, 2024
Partager:
Dans les applications web modernes, il est essentiel de garantir la sécurité et la confidentialité des données. Une méthode efficace pour protéger des informations sensibles telles que les identifiants de base de données ou les URL est d'utiliser Hashids, une bibliothèque de chiffrement JavaScript qui transforme les données numériques en hachages uniques, réversibles et cryptés. Cet article explore comment vous pouvez intégrer de manière transparente Hashids dans votre application React pour obscurcir et décoder les identifiants.
Qu'est-ce que Hashids ?
Hashids est une bibliothèque petite mais puissante qui convertit les données numériques en chaîne de hachage. L'objectif principal est de masquer les identifiants numériques afin d'éviter l'exposition d'informations sensibles. Cette transformation est réversible, ce qui permet de récupérer les données numériques d'origine en cas de besoin. Hashids est une bibliothèque JavaScript qui permet de générer des identifiants YouTube à partir de nombres, d'encoder des données sensibles ou d'exposer les identifiants de votre base de données à l'utilisateur en toute sécurité, ou simplement d'obscurcir les identifiants à partir de nombres.
Intégrer Hashids dans votre application React
Pour intégrer Hashids dans votre application React, suivez les étapes suivantes :
Étape 1 : Installer Hashids npm
Tout d'abord, installez Hashids via npm dans votre projet React :
npm install hashids
or
yarn add hashids
npm install hashids
or
yarn add hashids
SHELL
Étape 2 : Initialisation de l'instance Hashids
Dans votre composant React ou votre fichier utilitaire, initialisez une nouvelle instance Hashids avec un sel et, éventuellement, une longueur de hachage minimale :
import { useState, useEffect } from 'react';
import Hashids from 'hashids';
const MyComponent = () => {
const [hashids, setHashids] = useState(null);
useEffect(() => {
const initHashids = new Hashids('your_salt_here', 8); // Replace 'your_salt_here' with your actual salt or configure custom alphabet
setHashids(initHashids);
}, []);
// Other component logic here
return (
<div>
{/* Your JSX content */}
</div>
);
};
export default MyComponent;
js
JAVASCRIPT
Remplacez `'your_salt_here'` par une chaîne unique (sel) que vous utilisez pour personnaliser la sortie du hachage.
Étape 3 : Encodage et décodage des données
Une fois initialisés, vous pouvez utiliser les Hashids pour encoder et décoder des données numériques. Par exemple, l'encodage d'un identifiant de base de données :
const encodedId = hashids.encode(12345); // Example: 'B0zGbvA9' non sequential ids
js
JAVASCRIPT
Et la décoder en fonction de l'identifiant d'origine :
Sécurité : Hashids obscurcit les IDs numériques, renforçant la confidentialité des données et l'outil de sécurité empêchant le mappage direct vers des informations sensibles.
Facilité d'intégration : L'installation npm simple et l'API directe rendent Hashids facile à implémenter dans les applications React.
Flexibilité : La longueur de hachage personnalisable et le sel offrent la flexibilité nécessaire pour adapter les hachages aux besoins de sécurité de votre application.
Présentation d'IronPDF
IronPDF for Node.js est une bibliothèque PDF Node.js puissante de Iron Software qui permet aux développeurs de générer et de modifier des PDF dans leurs projets .NET. Que vous ayez besoin de créer des PDF à partir de HTML, de manipuler des PDF existants ou de convertir des pages web au format PDF, IronPDF a tout prévu.
Caractéristiques principales
Conversion de HTML en PDF
Convertissez sans effort du contenu HTML en documents PDF. Cette fonction est particulièrement utile pour générer des PDF dynamiques à partir de contenus web.
Conversion d'URL en PDF
Générez des PDF directement à partir d'URL, ce qui vous permet de capturer le contenu de pages web et de les enregistrer sous forme de fichiers PDF de manière programmatique.
Manipulation des PDF
Fusionnez, divisez et manipulez facilement des documents PDF existants. IronPDF offre des fonctionnalités telles que l'ajout de pages, la division de documents, etc.
Sécurité PDF
Sécurisez vos documents PDF en les chiffrant avec des mots de passe ou en appliquant des signatures numériques. IronPDF propose des options pour protéger vos documents sensibles contre les accès non autorisés.
Sortie de haute qualité
Produisez des documents PDF de haute qualité avec un rendu précis du texte, des images et de la mise en forme. IronPDF veille à ce que les PDF générés restent fidèles au contenu original.
Compatibilité multiplateforme
IronPDF est compatible avec diverses plates-formes, y compris Windows, Linux et macOS, ce qui le rend adapté à une large gamme d'environnements de développement.
Intégration simple
Intégrez facilement IronPDF à vos applications Node.js à l'aide de son package npm. L'API est bien documentée, ce qui facilite l'intégration des capacités de génération de PDF dans vos projets.
Installation
Pour installer le package NPM IronPDF, utilisez la commande suivante :
Générer des documents PDF à l'aide d'IronPDF et utiliser le paquetage NPM HashIDs
Installer les dépendances : Tout d'abord, créez un nouveau projet Next.js (si vous ne l'avez pas déjà fait) en utilisant la commande suivante : Référez-vous ici
Maintenant, créons un exemple simple de génération de PDF en utilisant IronPDF. Dans votre composant Next.js (par exemple, pages/index.tsx), ajoutez le code suivant :
API de génération de PDF : La première étape consiste à créer une API backend pour générer le document PDF. Étant donné qu'IronPDF ne fonctionne que côté serveur, nous devons créer une API à appeler lorsqu'un utilisateur souhaite générer un PDF. Créez un fichier dans le chemin pages/api/pdf.js et ajoutez le contenu ci-dessous.
IronPDF nécessite une clé de licence, vous pouvez l'obtenir sur la page de licence et l'insérer dans le code ci-dessous.
// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
try {
const initHashids = new Hashids('IronPDF Is Awesome and this is the salt', 8);
const f = req.query.f;
const l = initHashids.encode(f);
let content = "<h1>Demo Hashids and Generate PDF Using IronPDF</h1>"
content+="<p>Input:"+f+"</p>";
content+="<p>HashID:"+l+"</p>";
const pdf = await PdfDocument.fromHtml(content);
const data = await pdf.saveAsBuffer();
console.error("data PDF:", data);
res.setHeader("Content-Type", "application/pdf");
res.setHeader(
"Content-Disposition",
"attachment; filename=awesomeIron.pdf",
);
res.send(data);
} catch (error) {
console.error("Error generating PDF:", error);
res.status(500).end();
}
}
js
JAVASCRIPT
Modifiez maintenant le code index.js comme ci-dessous pour utiliser le hashID et IronPDF
import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState, useEffect } from "react";
import Hashids from 'hashids';
export default function Home() {
const [text, setText] = useState("");
const [etext, seteText] = useState("");
const [hashids, setHashids] = useState(null);
useEffect(() => {
const initHashids = new Hashids('IronPDF Is Awesome and this is the salt', 8);
setHashids(initHashids);
}, []);
const generatePdf = async () => {
try {
const response = await fetch("/api/pdf-hash?f=" + text);
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "awesomeIron.pdf");
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error("Error generating PDF:", error);
}
};
const handleChange = (event) => {
seteText(hashids.encode(event.target.value));
setText(event.target.value);
};
return (
<div className={styles.container}>
<Head>
<title>Generate PDF Using IronPDF</title>
<link rel="icon" href="/favicon.ico" />
</Head>
<main>
<h1>Demo Hashids and Generate PDF Using IronPDF</h1>
<p>
<span>Enter Url To get Hashids and Convert to PDF:</span>{" "}
</p>
<p>
HashID of input: {etext}
</p>
<button style={{ margin: 20, padding: 5 }} onClick={generatePdf}>
Generate PDF
</button>
</main>
<style jsx>{`
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
color: inherit;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family:
Menlo,
Monaco,
Lucida Console,
Liberation Mono,
DejaVu Sans Mono,
Bitstream Vera Sans Mono,
Courier New,
monospace;
}
`}</style>
<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family:
-apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Oxygen,
Ubuntu,
Cantarell,
Fira Sans,
Droid Sans,
Helvetica Neue,
sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
</div>
);
}
js
JAVASCRIPT
Explication du code
Prise en compte des chiffres saisis par l'utilisateur dans la zone de texte de saisie.
Encodez le nombre saisi à l'aide de HashID et affichez-le.
Lorsque l'utilisateur clique sur Générer un PDF, le texte saisi est envoyé à une API dorsale, qui encode et génère un document PDF.
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
js
JAVASCRIPT
Conclusion
L'intégration de Hashids dans votre application React est une approche pratique pour protéger les données sensibles telles que les identifiants de base de données ou les URL. En utilisant les Hashids, vous pouvez vous assurer que les identifiants restent sécurisés tout en conservant la possibilité de récupérer les données originales en cas de besoin.
Que vous construisiez une petite application ou un système d'entreprise complexe, Hashids offre une solution fiable pour améliorer la confidentialité et la sécurité des données dans vos projets React et excelle dans l'encodage de nombres incrémentés en hachages uniques. Hashids garantit que même les motifs répétitifs des nombres saisis donnent lieu à des hachages distincts et non répétitifs, préservant ainsi l'intégrité et la sécurité des données dans les applications.
IronPDF se distingue comme une bibliothèque robuste et polyvalente pour les développeurs Node.js recherchant des capacités complètes de génération, manipulation et gestion de PDF au sein de leurs applications. Que vous créiez des applications web, des logiciels de bureau ou que vous intégriez des fonctionnalités PDF dans des solutions d'entreprise.
Darrius Serrant est titulaire d'une licence en informatique de l'Université de Miami et travaille en tant qu'ingénieur marketing Full Stack WebOps chez Iron Software. Attiré par le code depuis son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le support parfait pour la créativité et la résolution de problèmes.
Chez Iron Software, Darrius apprécie de créer de nouvelles choses et de simplifier des concepts complexes pour les rendre plus compréhensibles. En tant que l'un de nos développeurs résidents, il a également fait du bénévolat pour enseigner aux étudiants, partageant son expertise avec la prochaine génération.
Pour Darrius, son travail est épanouissant car il est apprécié et a un réel impact.
< PRÉCÉDENT JsdomNPM (Comment ça marche pour les développeurs)
SUIVANT > memcached npm (Comment ça marche pour les développeurs)
Vous avez une question ? Prendre contact avec notre équipe de développement.
Vous avez une question ? Contactez notre équipe de développement.
Commencez GRATUITEMENT
Aucune carte de crédit n'est requise
Test dans un environnement réel
Testez en production sans filigranes. Fonctionne là où vous en avez besoin.
Produit entièrement fonctionnel
Obtenez 30 jours de produit entièrement fonctionnel. Faites-le fonctionner en quelques minutes.
assistance technique 24/5
Accès complet à notre équipe d'ingénieurs pendant la période d'essai du produit
Obtenez votre clé d'essai de 30 jours gratuite instantanément.
Aucune carte de crédit ou création de compte n'est nécessaire
Le formulaire d'essai a été soumis avec succès.
Votre clé d'essai devrait être dans l'e-mail. Si ce n'est pas le cas, veuillez contacter support@ironsoftware.com
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier