// Path: src/main/java/com/salesforce/ddc/threelevelmemcache/exposed/util/SHAKey.java
// public class SHAKey {
// 
//     private static final Log log = LogFactory.getLog(SHAKey.class);
//     private static MessageDigest keyEncrypt;
// 
//     static {
// 	try {
// 	    keyEncrypt = MessageDigest.getInstance("SHA");
// 	} catch (NoSuchAlgorithmException e) {
// 	    throw new RuntimeException("Can't create keyEncrypter", e);
// 	}
//     }
// 
//     public static String sha(Object unprefixedKey) {
// 	if (unprefixedKey == null) {
// 	    return null;
// 	}
// 	try {
// 	    return Hex.encodeHexString(((MessageDigest) keyEncrypt.clone())
// 		    .digest(unprefixedKey.toString().getBytes("UTF-8")));
// 	} catch (Exception e) {
// 	    log.error("Can't create Memcached key for value:" + unprefixedKey
// 		    + " . Return default SHA key.", e);
// 	    return DigestUtils.shaHex(unprefixedKey.toString());
// 	}
//     }
// }


import org.apache.commons.codec.digest.DigestUtils;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.salesforce.ddc.threelevelmemcache.exposed.util.SHAKey;
/**
 * Copyright (c) 2011, salesforce.com, inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are permitted provided
 * that the following conditions are met:
 *
 *    Redistributions of source code must retain the above copyright notice, this list of conditions and the
 *    following disclaimer.
 *
 *    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
 *    the following disclaimer in the documentation and/or other materials provided with the distribution.
 *
 *    Neither the name of salesforce.com, inc. nor the names of its contributors may be used to endorse or
 *    promote products derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package com.salesforce.ddc.threelevelmemcache.exposed;



/**
 * @author Alexander Khimich
 */
@Test(groups = "unit")
public class SHAKeyUnitTestNG {

    public void testSHA() throws Exception {

	String data = "some";
// Path: src/main/java/com/salesforce/ddc/threelevelmemcache/exposed/util/SHAKey.java
// public class SHAKey {
// 
//     private static final Log log = LogFactory.getLog(SHAKey.class);
//     private static MessageDigest keyEncrypt;
// 
//     static {
// 	try {
// 	    keyEncrypt = MessageDigest.getInstance("SHA");
// 	} catch (NoSuchAlgorithmException e) {
// 	    throw new RuntimeException("Can't create keyEncrypter", e);
// 	}
//     }
// 
//     public static String sha(Object unprefixedKey) {
// 	if (unprefixedKey == null) {
// 	    return null;
// 	}
// 	try {
// 	    return Hex.encodeHexString(((MessageDigest) keyEncrypt.clone())
// 		    .digest(unprefixedKey.toString().getBytes("UTF-8")));
// 	} catch (Exception e) {
// 	    log.error("Can't create Memcached key for value:" + unprefixedKey
// 		    + " . Return default SHA key.", e);
// 	    return DigestUtils.shaHex(unprefixedKey.toString());
// 	}
//     }
// }


// Path: src/test/java/com/salesforce/ddc/threelevelmemcache/exposed/SHAKeyUnitTestNG.java
import org.apache.commons.codec.digest.DigestUtils;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.salesforce.ddc.threelevelmemcache.exposed.util.SHAKey;

/**
 * Copyright (c) 2011, salesforce.com, inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are permitted provided
 * that the following conditions are met:
 *
 *    Redistributions of source code must retain the above copyright notice, this list of conditions and the
 *    following disclaimer.
 *
 *    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
 *    the following disclaimer in the documentation and/or other materials provided with the distribution.
 *
 *    Neither the name of salesforce.com, inc. nor the names of its contributors may be used to endorse or
 *    promote products derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package com.salesforce.ddc.threelevelmemcache.exposed;



/**
 * @author Alexander Khimich
 */
@Test(groups = "unit")
public class SHAKeyUnitTestNG {

    public void testSHA() throws Exception {

	String data = "some";
	System.out.println(SHAKey.sha(data));