Base64 implements encryption and decryption functions
This time I will bring you base64 to implement encryption and decryption functions. What are the precautions for base64 to implement encryption and decryption functions? The following is a practical case, let’s take a look.
Regarding encryption, many people think of encodeURI and escape. This is useful for encrypting URLs, especially URLs with Chinese parameters. If you just want to do encryption and decryption, similar to Java's DES, jQuery on the Internet has jquery.base64.js. (For md5 encryption of js, you can use jquery.md5.js. If you are interested, you can find it and test it). Here is the test:<html> <head> <title></title> <meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <script language="javascript"src="jquery-1.7.1.js"></script> <script language="javascript"src="jquery.base64.js"></script> </head> <body> <input id="path"name="path"type="hidden"value="haha"></input> <input id="putcardno01"name="putcardno01"type="text"size="65"value=""></input> <br> <input onclick="subfunc();"class="btn1"value="提交加密" type="button"></input> <br> 加密后:<input id="putcardno02"name="putcardno02"type="text"size="65"value=""></input> <br> <input onclick="subfunc02();"class="btn1"value="提交解密" type="button"></input> <br> <br> <hr> <input onclick="subfunc03();"class="btn1"value="提交N次加密" type="button"></input> <br> 加密后:<input id="putcardno03"name="putcardno03"type="text"size="65"value=""></input> <br> <input onclick="subfunc04();"class="btn1"value="提交N次解密" type="button"></input> <br> <br> <input onclick="clearrr();"class="btn1"value="清除" type="button"></input> <br> <textarea id='txt'cols="75"rows="19"></textarea> </body> <script language="javascript"> varpath=document.getElementById("path").value; functionapp(info){ $("#txt").val($("#txt").val()+'\n'+info); } functionsubfunc(){ varput1=$.trim($("#putcardno01").val()); // var estxt=$.base64.encode(put1); //var estxt=$.base64.btoa(put1); varestxt=encodeBase64(put1); $("#putcardno02").val(estxt); app("加密后["+estxt+"]"); } functionsubfunc02(){ varput1=$.trim($("#putcardno02").val()); //var estxt=$.base64.decode(put1); //var estxt=$.base64.atob(put1); varestxt=decodeBase64(put1); app("解密后["+estxt+"]"); } ////////////////////////////////////////// varnumTimes=5; functionsubfunc03(){ varput1=$.trim($("#putcardno01").val()); // var estxt=$.base64.encode(put1); //var estxt=$.base64.btoa(put1); //estxt=$.base64.btoa(estxt); estxt=encodeBase64(put1,numTimes); $("#putcardno03").val(estxt); app(numTimes+"次加密后["+estxt+"]"); } functionsubfunc04(){ varput1=$.trim($("#putcardno03").val()); //var estxt=$.base64.decode(put1); //var estxt=$.base64.atob(put1); //estxt=$.base64.atob(estxt); estxt=decodeBase64(put1,numTimes); app(numTimes+"次解密后["+estxt+"]"); } functionclearrr(){ $("#putcardno02").val(""); $("#putcardno03").val(""); $("#putcardno04").val(""); $("#txt").val(""); } //加密方法。没有过滤首尾空格,即没有trim. //加密可以加密N次,对应解密N次就可以获取明文 functionencodeBase64(mingwen,times){ varcode=""; varnum=1; if(typeoftimes=='undefined'||times==null||times==""){ num=1; }else{ varvt=times+""; num=parseInt(vt); } if(typeofmingwen=='undefined'||mingwen==null||mingwen==""){ }else{ $.base64.utf8encode =true; code=mingwen; for(vari=0;i<num;i++){ code=$.base64.btoa(code); } } returncode; } //解密方法。没有过滤首尾空格,即没有trim //加密可以加密N次,对应解密N次就可以获取明文 functiondecodeBase64(mi,times){ varmingwen=""; varnum=1; if(typeoftimes=='undefined'||times==null||times==""){ num=1; }else{ varvt=times+""; num=parseInt(vt); } if(typeofmi=='undefined'||mi==null||mi==""){ }else{ $.base64.utf8encode =true; mingwen=mi; for(vari=0;i<num;i++){ mingwen=$.base64.atob(mingwen); } } returnmingwen; } /* 测试 输入 suolong2014version 加密后[c3VvbG9uZzIwMTR2ZXJzaW9u] 解密后[suolong2014version] 5次加密后[VjFod1QxWXlVblJUYTJoUVYwWmFhRnBYZEhOTk1WSlhWV3hPVG1KSVFscFZNalYzWVVaYU5tSkVSVDA9] 5次解密后[suolong2014version] */ </script>
packagecom.code; importsun.misc.BASE64Decoder; importsun.misc.BASE64Encoder; /** * * Base64加密--解密 * * @author lushuaiyin * */ publicclassBase64Util { /** * @param args */ publicstaticvoidmain(String[] args) { // TODO Auto-generated method stub String str="suolong2014version"; System.out.println("测试明文["+str+"]"); String basecode =Base64Util.encodeBase64(str); System.out.println("加密后["+basecode+"]"); if(basecode!=null){ String res =Base64Util.decodeBase64(basecode); System.out.println("解密后["+res+"]"); } ///////////////////////////////////////// System.out.println(""); System.out.println("N次加密测试--------"); String basecodeN=Base64Util.encodeBase64(str,2); String resN=Base64Util.decodeBase64(basecodeN,2); String basecodeN3=Base64Util.encodeBase64(str,5); String resN3=Base64Util.decodeBase64(basecodeN3,5); } //提供加密N次 publicstaticString encodeBase64(String mingwen,inttimes){ intnum=(times<=0)?1:times; String code=""; if(mingwen==null||mingwen.equals("")){ }else{ code=mingwen; for(inti=0;i<num;i++){ code=encodeBase64(code); } System.out.println("加密"+num+"次后["+code+"]"); } returncode; } //对应提供解密N次 publicstaticString decodeBase64(String mi,inttimes){ intnum=(times<=0)?1:times; String mingwen=""; if(mi==null||mi.equals("")){ }else{ mingwen=mi; for(inti=0;i<num;i++){ mingwen=decodeBase64(mingwen); } System.out.println("解密"+num+"次后["+mingwen+"]"); } returnmingwen; } /////////////////////////////////////////////////////////////////// publicstaticString encodeBase64(String mingwen){ String code=""; if(mingwen==null||mingwen.equals("")){ }else{ BASE64Encoder encoder =newBASE64Encoder(); try{ code=encoder.encode(mingwen.getBytes()); }catch(Exception e) { e.printStackTrace(); } // System.out.println("加密后["+code+"]"); } returncode; } publicstaticString decodeBase64(String mi){ String mingwen=""; if(mi==null||mi.equals("")){ }else{ BASE64Decoder decoder =newBASE64Decoder(); try{ byte[] by = decoder.decodeBuffer(mi); mingwen =newString(by); }catch(Exception e) { e.printStackTrace(); } // System.out.println("解密后["+mingwen+"]"); } returnmingwen; } } /* 打印: 测试明文[suolong2014version] 加密后[c3VvbG9uZzIwMTR2ZXJzaW9u] 解密后[suolong2014version] N次加密测试-------- 加密2次后[YzNWdmJHOXVaekl3TVRSMlpYSnphVzl1] 解密2次后[suolong2014version] 加密5次后[VjFod1QxWXlVblJUYTJoUVYwWmFhRnBYZEhOTk1WSlhWV3hPVG1KSVFscFZNalYzWVVaYU5tSkVS VDA9] 解密5次后[suolong2014version] */
jQuery to create page mask layer effect
How to use keyboard events in jquery
The above is the detailed content of Base64 implements encryption and decryption functions. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

There will be many AI creation functions in the Doubao app, so what functions does the Doubao app have? Users can use this software to create paintings, chat with AI, generate articles for users, help everyone search for songs, etc. This function introduction of the Doubao app can tell you the specific operation method. The specific content is below, so take a look! What functions does the Doubao app have? Answer: You can draw, chat, write articles, and find songs. Function introduction: 1. Question query: You can use AI to find answers to questions faster, and you can ask any kind of questions. 2. Picture generation: AI can be used to create different pictures for everyone. You only need to tell everyone the general requirements. 3. AI chat: can create an AI that can chat for users,

Both vivox100s and x100 mobile phones are representative models in vivo's mobile phone product line. They respectively represent vivo's high-end technology level in different time periods. Therefore, the two mobile phones have certain differences in design, performance and functions. This article will conduct a detailed comparison between these two mobile phones in terms of performance comparison and function analysis to help consumers better choose the mobile phone that suits them. First, let’s look at the performance comparison between vivox100s and x100. vivox100s is equipped with the latest

JPA and MyBatis: Function and Performance Comparative Analysis Introduction: In Java development, the persistence framework plays a very important role. Common persistence frameworks include JPA (JavaPersistenceAPI) and MyBatis. This article will conduct a comparative analysis of the functions and performance of the two frameworks and provide specific code examples. 1. Function comparison: JPA: JPA is part of JavaEE and provides an object-oriented data persistence solution. It is passed annotation or X

What does a Bluetooth adapter do? With the continuous development of science and technology, wireless communication technology has also been rapidly developed and popularized. Among them, Bluetooth technology, as a short-distance wireless communication technology, is widely used in data transmission and connection between various devices. The Bluetooth adapter plays a vital role as an important device that supports Bluetooth communication. A Bluetooth adapter is a device that can turn a non-Bluetooth device into a device that supports Bluetooth communication. It realizes wireless connection and data transmission between devices by converting wireless signals into Bluetooth signals. Bluetooth adapter

With the rapid development of the Internet, the concept of self-media has become deeply rooted in people's hearts. So, what exactly is self-media? What are its main features and functions? Next, we will explore these issues one by one. 1. What exactly is self-media? We-media, as the name suggests, means you are the media. It refers to an information carrier through which individuals or teams can independently create, edit, publish and disseminate content through the Internet platform. Different from traditional media, such as newspapers, television, radio, etc., self-media is more interactive and personalized, allowing everyone to become a producer and disseminator of information. 2. What are the main features and functions of self-media? 1. Low threshold: The rise of self-media has lowered the threshold for entering the media industry. Cumbersome equipment and professional teams are no longer needed.

As Xiaohongshu becomes popular among young people, more and more people are beginning to use this platform to share various aspects of their experiences and life insights. How to effectively manage multiple Xiaohongshu accounts has become a key issue. In this article, we will discuss some of the features of Xiaohongshu account management software and explore how to better manage your Xiaohongshu account. As social media grows, many people find themselves needing to manage multiple social accounts. This is also a challenge for Xiaohongshu users. Some Xiaohongshu account management software can help users manage multiple accounts more easily, including automatic content publishing, scheduled publishing, data analysis and other functions. Through these tools, users can manage their accounts more efficiently and increase their account exposure and attention. In addition, Xiaohongshu account management software has

PHP Tips: Quickly implement the function of returning to the previous page. In web development, we often encounter the need to implement the function of returning to the previous page. Such operations can improve the user experience and make it easier for users to navigate between web pages. In PHP, we can achieve this function through some simple code. This article will introduce how to quickly implement the function of returning to the previous page and provide specific PHP code examples. In PHP, we can use $_SERVER['HTTP_REFERER'] to get the URL of the previous page

"Exploring Discuz: Definition, Functions and Code Examples" With the rapid development of the Internet, community forums have become an important platform for people to obtain information and exchange opinions. Among the many community forum systems, Discuz, as a well-known open source forum software in China, is favored by the majority of website developers and administrators. So, what is Discuz? What functions does it have, and how can it help our website? This article will introduce Discuz in detail and attach specific code examples to help readers learn more about it.
