jquery实现文章导航目录效果代码

代码语言:html

所属分类:菜单导航

代码描述:jquery实现文章导航目录效果代码,请在在新窗口中预览,小屏会隐藏导航条的

代码标签: 导航 目录 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <link type="text/css" rel="stylesheet" href="http://img.bfw.wiki/static/Blog/css/bfw.css?1=2">
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery.3.5.1.js"></script>
    <style>
        .sec_header {
            font-size: 26px;
            background: #eeeeee;
            padding: 10px;
        }
        .active {
            background: #eeeeee;
            font-weight: bold;
        }
        #mulu li{
            padding: 10px;
        }
        #mulu{
            list-style:none;
            
        }
    </style>


</head>
<body class="bfw-l-font-16 bfw-m-font-16 bfw-s-font-16" style="background: white;">

    <div class="bfw-cont ">

        <div class="bfw-middle bfw-color-b-w  bfw-s-row-100 bfw-m-row-100"
            style="width: 83%; margin: 0 auto;">
            <div class="bfw-row-owner bfw-height-auto">
                <div class="bfw-l-row-70 bfw-m-row-100  bfw-s-row-100 bfw-float-l">
                  
                    <h2 class="bfw-align-c  bfw-pad-s"
                        style="border-bottom: 1px dashed #0bbdff;">Python对二进制文件进行加密和解密</h2>

                    <div class="content bfw-line-m bfw-pad-m bfw-color-grey"
                        style="line-height: 1.8em;word-wrap: break-word;">

                        <p>
                            加密是对信息进行编码的过程,只有有密码才能访问它。这一点至关重要,因为它可以安全地保护您不希望任何人看到或访问的数据。<br /><br /><img class="lazy" title="<a href='/tag/python.html'>Python</a>对二进制文件进行加密和解密" alt="<a href='/tag/python.html'>Python</a>对二进制文件进行加密和解密" src="http://img.bfw.wiki/uploadimg/20201017/5f8a3df8c59d9.png?x-oss-process=style/800_auto" alt="" />
                        </p>
                        <p>
                            在本教程中,您将学习如何使用<a href='/tag/python.html'>Python</a>通过加密库对文件或任何字节对象(也包括字符串对象)进行加密。<br /><br />我们将使用对称加密,这意味着用于加密数据的相同密钥也可用于解密。那里有很多加密算法,我们将使用的库是基于AES算法构建的。<br />
                        </p>
                        <p class="sec_body1">
                            注意:了解加密和哈希算法之间的区别非常重要,在加密中,一旦拥有密钥,您就可以检索原始数据,而在哈希函数中则不能,因此,它们被称为单向加密。
                        </p>
                        <p class="sec_header">
                            一、安装依赖
                        </p>
                        让我们从安装加密开始:<br /><p class="sec_body1">
                            pip3 install cryptography<br />
                        </p>
                        <p></p>
                        <br />打开一个新的<a href='/tag/python.html'>Python</a>文件,让我们开始吧:<br /><p class="sec_body1">
                            from cryptography.fernet import Fernet
                        </p>
                        Fernet是对称身份验证密码技术的实现,让我们首先生成该密钥并将其写入文件:<br /><br /><pre class="prettyprint lang-py">def write_key():
                            &quot;&quot;&quot;
                            Generates a key and save it into a file
                            &quot;&quot;&quot;
                            key = Fernet.generate_key()
                            with open(&quot;key.key&quot;, &quot;wb&quot;) as key_file:
                            key_file.write(key)</pre><p></p>
                        <br />generate_key()函数会生成一个新的Fernet密钥,你需要将其保存在安全的地方,如果丢失了该密钥,则将无法再解密使用此密钥加密的数据。<br /><br />由于此密钥是唯一的,因此我们不会在每次加密任何内容时生成密钥,因此我们需要一个函数来为我们加载该密钥:<br /><br /><pre class="prettyprint lang-py">def load_key():
                            &quot;&quot;&quot;
                            Loads the key from the current directory named `key.key`
                            &quot;&quot;&quot;
                            return open(&quot;key.key&quot;, &quot;rb&quot;).read()</pre><p></p>
                        <br /><p class="sec_header">
                            二、字符串加密
                        </p>
                        现在我们知道了如何获取密钥,让我们从加密字符串对象开始,只是为了让您首先熟悉它。<br /><br />生成密钥并将其写入文件:<br /><pre class="prettyprint lang-py"># generate and write a new key
                            write_key()</pre>让我们加载该密钥:<br /><br /><pre class="prettyprint lang-py"># load the previously generated key
                            key = load_key()</pre><p></p>
                        <br />一些消息:<br /><br /><pre class="prettyprint lang-py">message = &quot;some secret message&quot;.encode()</pre><p></p>
                        <br /><br />我们需要对字符串进行编码,以将其转换为字节以适合加密,encode()方法使用utf-8编解码器对该字符串进行编码。使用该键初始化Fernet类:<br /><br /><pre class="prettyprint lang-py"># initialize the Fernet class
                            f = Fernet(key)</pre><p></p>
                        <br />加密消息:<br /><br /><pre class="prettyprint lang-py"># encrypt the message
                            encrypted = f.encrypt(message)</pre><p></p>
                        <br />f.encrypt()方法对传递的数据进行加密,这种加密的结果称为“ Fernet令牌”,并具有强大的隐私性和真实性保证。<br /><br />让我们看看它加密后的输出:<br /><pre class="prettyprint lang-py"># print how it looks
                            print(encrypted)</pre>输出:<br /><p class="sec_body1">
                            b'gAAAAABdjSdoqn4kx6XMw_fMx5YT2eaeBBCEue3N2FWHhlXjD6JXJyeELfPrKf0cqGaYkcY6Q0bS22ppTBsNTNw2fU5HVg-c-0o-KVqcYxqWAIG-LVVI_1U='<br />
                        </p>
                        <p></p>
                        <br />解密:<br /><br /><pre class="prettyprint lang-py">decrypted_encrypted = f.decrypt(encrypted)
                            print(decrypted_encrypted)</pre><p></p>
                        输出:<br /><p class="sec_body1">
                            b'some secret message'<br />
                        </p>
                        <p></p>
                        <br />的确是同一条信息。<br /><br />f.decrypt()方法解密Fernet令牌。成功解密后,这将返回原始明文作为结果,否则将引发异常。<br /><br /><p class="sec_header">
                            三、文件加密
                        </p>
                        <p>
                            现在您知道了如何基本加密字符串,让我们深入研究文件加密,我们需要一个函数来给定文件名和密钥名来加密文件:<br /><br /><pre class="prettyprint lang-py">def encrypt(filename, key):
                                &quot;&quot;&quot;
                                Given a filename (str) and key (bytes), it encrypts the file and write it
                                &quot;&quot;&quot;
                                f = Fernet(key)</pre>
                        </p>
                        <p></p>
                        <br />在使用给定的密钥初始化Fernet对象之后,让我们首先阅读该文件:<br /><br /><pre class="prettyprint lang-py">with open(filename, &quot;rb&quot;) as file:
                            <span style="white-space:pre">	</span># read all file data
                            <span style="white-space:pre">	</span>file_data = file.read()</pre><p></p>
                        <br />之后,加密我们刚刚读取的数据:<br /><br /><pre class="prettyprint lang-py"># encrypt data
                            encrypted_data = f.encrypt(file_data)</pre><p></p>
                        <br />用相同的名称写入加密文件,这样它将覆盖原始文件(暂时不要在敏感信息上使用此文件,只需对一些垃圾数据进行测试):<br /><br /><pre class="prettyprint lang-py"># write the encrypted file
                            with open(filename, &quot;wb&quot;) as file:
                            <span style="white-space:pre">	</span>file.write(encrypted_data)</pre><p></p>
                        <br />这样做了,现在要解密的功能,它是相同的过程,除了我们将使用解密()函数,而不是加密() :<br /><br /><pre class="prettyprint lang-py">def decrypt(filename, key):
                            &quot;&quot;&quot;
                            Given a filename (str) and key (bytes), it decrypts the file and write it
                            &quot;&quot;&quot;
                            f = Fernet(key)
                            with open(filename, &quot;rb&quot;) as file:
                            # read the encrypted data
                            encrypted_data = file.read()
                            # decrypt data
                            decrypted_data = f.decrypt(encrypted_data)
                            # write the original file
                            with open(filename, &quot;wb&quot;) as file:
                            file.write(decrypted_data)</pre><p></p>
                        <br /><br />让我们测试一下,我在当前目录中有一个csv文件和一个密钥,如下图所示:<p>
                            <img class="lazy" title="<a href='/tag/python.html'>Python</a>对二进制文件进行加密和解密" alt="<a href='/tag/python.html'>Python</a>对二进制文件进行加密和解密" src="http://img.bfw.wiki/uploadimg/20201017/5f8a3b6c92938.png?x-oss-process=style/800_auto" alt="" /><br /><br />它是完全可读的文件,要对其进行加密,我们需要做的就是调用我们刚编写的函数:<br /><br /><pre class="prettyprint lang-py"># uncomment this if it's the first time you run the code, to generate the key
                                # write_key()
                                # load the key
                                key = load_key()
                                # file name
                                file = &quot;data.csv&quot;
                                # encrypt it
                     .........完整代码请登录后点击上方下载按钮下载查看

网友评论0