精华内容
下载资源
问答
  • PAGE 5 第一章 计算机基础知识 一填空题 1.... 在计算机内部对汉字进行传输处理和存储时使用的是汉字的_ 5. 将用高级语言编写的源程序转换成等价的目标程序的过程称为_ 6. 微型计算机总线一般由地址总
  • 这时我们使用的是输入法当前环境默认的字符编码方式进行输入的,那么我们 需要直接保存即可,但保存时有额外选项,即选择编码方式的选项: ![图片说明]...
  • 汉字内码是为计算机内部对汉字进行存储.处理的汉字代码,它应能满足存储.处理和传输的要求.当一个汉字输入计算机后就会转换为内码,然后才能机器内传输.处理.汉字内码的形式也有多种多样.目前,对应于国标码一个汉字...

    做hdoj2030时的问题

    汉字内码是为计算机内部对汉字进行存储.处理的汉字代码,它应能满足存储.处理和传输的要求.当一个汉字输入计算机后就会转换为内码,然后才能在机器内传输.处理.汉字内码的形式也有多种多样.目前,对应于国标码一个汉字也用2个字节存储,并把每个字节的最高二进制位置"1"作为汉字内码的表识,以免与单字节的ASCII码产生歧义性.

    转载于:https://www.cnblogs.com/anderson0/archive/2009/04/04/1429438.html

    展开全文
  • 2004-2010软考程序员真题

    热门讨论 2012-09-27 12:33:00
     1、计算机中数据的表示形式是  A)八进制 B)十进制 C)二进制 D)十六进制  2、硬盘工作时应特别注意避免  A)噪声 B)震动 C)潮湿 D)日光  3、针式打印机术语中,24针是指  A)24x24点阵 B)信号线插头有24针 C)...
  • 会计理论考试题

    2012-03-07 21:04:40
    D、需要转换成机器语言后,计算机中的CPU才能执行 3.计算机病毒是一种计算机系统具有破坏性的 ___D___ 。 A、高级语言编译程序 B、生物病毒 C、操作系统 D、计算机程序 4.把高级语言的源程序变为目标程序要经过 __...
  • Base64以及Md5的使用

    2015-09-22 16:25:02
    利用md5,和base64java应用的敏感数据进行的加密和编码。  1. md5和base64维基百科的定义:  MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 计算机广泛使用的杂凑...
    利用md5,和base64对java应用中的敏感数据进行的加密和编码。 
    1. md5和base64在维基百科中的定义:
       MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。md5 运算结果是一个固定长度为128位的二进制数,经过一系列的运算得到32个16进制数。
       Base64是一种使用64基的位置计数法。它使用2的最大次方来代表仅可打印的ASCII 字符。这使它可用来作为电子邮件的传输编码。在Base64中的变量使用字符A-Z、a-z和0-9 ,这样共有62个字符,用来作为开始的64个数字,最后两个用来作为数字的符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后 binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。base64算法在维基百科里面的例子讲的很好很详细。

       link:   md5   http://zh.wikipedia.org/wiki/MD5 
            base64   http://zh.wikipedia.org/wiki/Base64 
    2. 下面我将用代码的形式给出如何使用base64和md5算法(如果有其他的方法或者比较好的使用方式,期望同胞们不吝赐教。因为我还没有实际工作过,先谢谢了。)
    注意:在Eclipse中需要将 windows->preferences->Java->Compiler->Errors/Warning中的 Deprecated and restricted Api下面的access rules修改为warning。这样使用sun.misc这个包下面的类就不会报错了。
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    package com.piedra.base64;
    import java.io.IOException;
     
    import sun.misc.*;
    /**
     * 通过这个类实现利用base64算法进行编码和解码。
     * @author
     *
     */
    public class Base64 {
         
        @SuppressWarnings("restriction")
        public String encode(String toEncodeContent){
            if(toEncodeContent == null){
                return null;
            }
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(toEncodeContent.getBytes());
        }
         
        public String encode(byte [] toEncodeContent){
            return encode(new String(toEncodeContent));
        }
         
        @SuppressWarnings("restriction")
        public String decode(String toDecodeContent){
            if(toDecodeContent == null) {
                return null;
            }
            byte[] buf = null;
            try {
                buf = new BASE64Decoder().decodeBuffer(toDecodeContent);
            catch(IOException e){
                e.printStackTrace();
            } finally {
            }
            return new String(buf);
        }
    }
    下面是测试代码:
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    package com.piedra.base64;
     
    import static org.junit.Assert.*;
     
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
     
    public class Base64Test {
        private Base64 base64;
         
        @Before
        public void init(){
            base64 = new Base64();
        }
         
        @Test
        public void testEncode() {
            String toEncodeContent = "I am grade to learn java.";
            String encodedContent = base64.encode(toEncodeContent);
            //由于要测试toEncodeContent经过BASE64编码后的字符序列。因此就直接打印,没有用Assert的方法。
            System.out.println(encodedContent);
        }
     
        @Test
        public void testDecode() {
            String toDecodeContent = "SSBhbSBncmFkZSB0byBsZWFybiBqYXZhLg==";
            String decodedContent = base64.decode(toDecodeContent);
            String expected = "I am grade to learn java.";
            String actual = decodedContent;
            assertEquals(expected,actual);
        }
     
        @After
        public void destroy(){
        }
    }
    接着来看看如何使用md5算法进行加密:
    在java API中对于MessageDigest对象的用法有这样的描述:
    The data is processed through it using the update methods. At any point reset
    can be called to reset the digest. Once all the data to be updated has been updated, one of the digest methods should be called to complete the hash 
    computation.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    package com.piedra.base64;
     
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    /**
     * 通过这个类我们可以利用getDigest方法对我们需要加密的数据进行加密。
     * @author
     *
     */
    public class Md5 {
         
        /**
         * 通过这个方法可以获得特定输入数据的文摘
         * @param input 需要进行获取文摘的字节数组
         * @return 特定数据的文摘
         */
        public byte[] getDigest(byte [] input){
            byte [] digestedValue = null;
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                //下面两个方法相当于适用 md.digest(input);
                md.update(input);
                digestedValue = md.digest();
            catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            return digestedValue;
        }
    }
    md5的测试代码以及base64和md5的结合使用:
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    package com.piedra.base64;
     
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
     
    public class Md5Test {
        private Md5 md5;
        private Base64 base64;
         
        @Before
        public void init(){
            md5 = new Md5();
            base64 = new Base64();
        }
         
        @Test
        public void testGetDigest() {
            String toDigest = "just a test.";
            byte [] digestedValue = md5.getDigest(toDigest.getBytes());
            System.out.println(new String(digestedValue));
        }
         
        @Test
        public void testEncrypt(){
            String toEncrypt = "This is my password.";
            byte [] encrypted = md5.getDigest(toEncrypt.getBytes());
            String encodedPassword = base64.encode(encrypted);
            System.out.println(encodedPassword);
        }
         
        @After
        public void destroy(){
        }
    }
    为什么用md5算法加密后又要利用base64算法进行编码:因为md5加密后得到的数据是128位的字节数组,将字节数组用base64算法加密后得到的是字符串,这样有利于在其在数据库中的存储。
    展开全文
  • 2) 以太网每台计算机都有唯一的地址,发送的每一帧信息,必须包含自己的地址和接收计算机地址,该地址是IP地址 3) 传输速率为10~100Mb/s,甚至更快 4) 以太网多数使用集线器或交换机组网,每台计算机通过双绞线...
  • md5,base64

    2014-07-15 22:49:44
    利用md5,和base64java应用的敏感数据进行的加密和编码。 1. md5和base64维基百科的定义: MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 计算机广泛使用的杂凑算法之...

    利用md5,和base64对java应用中的敏感数据进行的加密和编码。 
    1. md5和base64在维基百科中的定义:
       MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。md5 运算结果是一个固定长度为128位的二进制数,经过一系列的运算得到32个16进制数。
       Base64是一种使用64基的位置计数法。它使用2的最大次方来代表仅可打印的ASCII 字符。这使它可用来作为电子邮件的传输编码。在Base64中的变量使用字符A-Z、a-z和0-9 ,这样共有62个字符,用来作为开始的64个数字,最后两个用来作为数字的符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后 binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。base64算法在维基百科里面的例子讲的很好很详细。

       link:   md5   http://zh.wikipedia.org/wiki/MD5 
            base64   http://zh.wikipedia.org/wiki/Base64 
    2. 下面我将用代码的形式给出如何使用base64和md5算法(如果有其他的方法或者比较好的使用方式,期望同胞们不吝赐教。因为我还没有实际工作过,先谢谢了。)
    注意:在Eclipse中需要将 windows->preferences->Java->Compiler->Errors/Warning中的 Deprecated and restricted Api下面的access rules修改为warning。这样使用sun.misc这个包下面的类就不会报错了。

    01 package com.piedra.base64;
    02 import java.io.IOException;
    03  
    04 import sun.misc.*;
    05 /**
    06  * 通过这个类实现利用base64算法进行编码和解码。
    07  * @author
    08  *
    09  */
    10 public class Base64 {
    11      
    12     @SuppressWarnings("restriction")
    13     public String encode(String toEncodeContent){
    14         if(toEncodeContent == null){
    15             return null;
    16         }
    17         BASE64Encoder encoder = new BASE64Encoder();
    18         return encoder.encode(toEncodeContent.getBytes());
    19     }
    20      
    21     public String encode(byte [] toEncodeContent){
    22         return encode(new String(toEncodeContent));
    23     }
    24      
    25     @SuppressWarnings("restriction")
    26     public String decode(String toDecodeContent){
    27         if(toDecodeContent == null) {
    28             return null;
    29         }
    30         byte[] buf = null;
    31         try {
    32             buf = new BASE64Decoder().decodeBuffer(toDecodeContent);
    33         catch(IOException e){
    34             e.printStackTrace();
    35         } finally {
    36         }
    37         return new String(buf);
    38     }
    39 }

    下面是测试代码:

    01 package com.piedra.base64;
    02  
    03 import static org.junit.Assert.*;
    04  
    05 import org.junit.After;
    06 import org.junit.Before;
    07 import org.junit.Test;
    08  
    09 public class Base64Test {
    10     private Base64 base64;
    11      
    12     @Before
    13     public void init(){
    14         base64 = new Base64();
    15     }
    16      
    17     @Test
    18     public void testEncode() {
    19         String toEncodeContent = "I am grade to learn java.";
    20         String encodedContent = base64.encode(toEncodeContent);
    21         //由于要测试toEncodeContent经过BASE64编码后的字符序列。因此就直接打印,没有用Assert的方法。
    22         System.out.println(encodedContent);
    23     }
    24  
    25     @Test
    26     public void testDecode() {
    27         String toDecodeContent = "SSBhbSBncmFkZSB0byBsZWFybiBqYXZhLg==";
    28         String decodedContent = base64.decode(toDecodeContent);
    29         String expected = "I am grade to learn java.";
    30         String actual = decodedContent;
    31         assertEquals(expected,actual);
    32     }
    33  
    34     @After
    35     public void destroy(){
    36     }
    37 }

    接着来看看如何使用md5算法进行加密:
    在java API中对于MessageDigest对象的用法有这样的描述:
    The data is processed through it using the update methods. At any point reset
    can be called to reset the digest. Once all the data to be updated has been updated, one of the digest methods should be called to complete the hash 
    computation.

    01 package com.piedra.base64;
    02  
    03 import java.security.MessageDigest;
    04 import java.security.NoSuchAlgorithmException;
    05 /**
    06  * 通过这个类我们可以利用getDigest方法对我们需要加密的数据进行加密。
    07  * @author
    08  *
    09  */
    10 public class Md5 {
    11      
    12     /**
    13      * 通过这个方法可以获得特定输入数据的文摘
    14      * @param input 需要进行获取文摘的字节数组
    15      * @return 特定数据的文摘
    16      */
    17     public byte[] getDigest(byte [] input){
    18         byte [] digestedValue = null;
    19         try {
    20             MessageDigest md = MessageDigest.getInstance("MD5");
    21             //下面两个方法相当于适用 md.digest(input);
    22             md.update(input);
    23             digestedValue = md.digest();
    24         catch (NoSuchAlgorithmException e) {
    25             e.printStackTrace();
    26         }
    27         return digestedValue;
    28     }
    29 }

    md5的测试代码以及base64和md5的结合使用:

    01 package com.piedra.base64;
    02  
    03 import org.junit.After;
    04 import org.junit.Before;
    05 import org.junit.Test;
    06  
    07 public class Md5Test {
    08     private Md5 md5;
    09     private Base64 base64;
    10      
    11     @Before
    12     public void init(){
    13         md5 = new Md5();
    14         base64 = new Base64();
    15     }
    16      
    17     @Test
    18     public void testGetDigest() {
    19         String toDigest = "just a test.";
    20         byte [] digestedValue = md5.getDigest(toDigest.getBytes());
    21         System.out.println(new String(digestedValue));
    22     }
    23      
    24     @Test
    25     public void testEncrypt(){
    26         String toEncrypt = "This is my password.";
    27         byte [] encrypted = md5.getDigest(toEncrypt.getBytes());
    28         String encodedPassword = base64.encode(encrypted);
    29         System.out.println(encodedPassword);
    30     }
    31      
    32     @After
    33     public void destroy(){
    34     }
    35 }

    为什么用md5算法加密后又要利用base64算法进行编码:因为md5加密后得到的数据是128位的字节数组,将字节数组用base64算法加密后得到的是字符串,这样有利于在其在数据库中的存储。

     
    展开全文
  • c# 加密和解密相关代码

    热门讨论 2011-09-06 11:04:59
    本实例实现时主要用到了MD5类的ComputeHash 方法,下面进行详细讲解。 MD5 类表示MD5 哈希算法的所有实现均从中继承的抽象类,该类位于System.Security.Cryptography 命名 空间下,其ComputeHash 方法有3种...
  • 1999年创立北京世纪豪杰计算机技术公司,担任董事长兼首席程序员,视音频编解码、网络传输、图像处理、操作系统等四大领域拥有多项专利。 是程序,程序就是我。” 梁肇新 《编程高手箴言》这本书就是梁肇新...
  • excel的使用

    2012-11-25 17:06:01
    再举一个例子,假设正在进行帐目的结算,想要用蓝色显示结余超过$50,000的帐目,负数值用红色显示括号,其余的值用缺省颜色显示,可以创建如下的格式: “[蓝色][>50000] $#,##0.00_);[红色][]( $#,##0.00); $#...
  • 实现,assertion就是程序的一条语句,它一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
  • java 面试题 总结

    2009-09-16 08:45:34
    实现,assertion就是程序的一条语句,它一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
  • everything

    2010-04-25 17:05:20
    只须搜索框,输入几个字母或汉字,搜索结果就会实时呈现你的眼前。然后,可以直接双击某条结果,打开文件。也可以直接结果中进行复制、删除等常见操作。 2.4 切换为中文界面 中文语言包,并将语言包内的...
  • 光电技术论文集103篇

    2010-09-17 18:50:43
    16. 光电检测技术轮缘几何参数测量的应用———————————————69 17. 梯度图像形态学噪声抑制的各向异性扩散新方法——————————————73 18. 阵列光电器件对准与混合集成封装技术的...
  • 这一讲,我们主要是了解一下 Linux 的概况,以及 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...
  • iWeb Office2000[C#版]

    2006-03-16 00:00:00
    2. 测试使用过程中对你的计算机系统、网络系统所造成的直接或间接的损坏, 数据驿站不承担任何责任。 3. 你不得对本程序进行修改或破解或反编译 4. 未经DBstep授权许可,你不得将本软件用于商业目的 5. [数据...
  • iWeb Office2000[EXE版]

    2006-03-16 00:00:00
    2. 测试使用过程中对你的计算机系统、网络系统所造成的直接或间接的损坏, 数据驿站不承担任何责任。 3. 你不得对本程序进行修改或破解或反编译 4. 未经DBstep授权许可,你不得将本软件用于商业目的 5. [数据...
  • 大学文献检索资料 DOC

    2009-11-28 10:35:24
    是人脑客观事物传来的信息进行加工的过程。 文献: 是记录有知识的一切载体。也是将人类的知识用文字、符号、图形、声频、视频、信号等记录方式甲骨、竹棉 纸张、感光材料、磁性材料等载体上记录下来而形成的。 ...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

在计算机中对汉字进行传输