Author: david
Date: Tue Jul 19 17:17:14 2011
New Revision: 9340
Log:
Switch to SHA-256 as default checksum algorithm for digital objects
Modified:
trunk/lib/QubitAsset.class.php
trunk/lib/model/QubitDigitalObject.php
Modified: trunk/lib/QubitAsset.class.php
==============================================================================
--- trunk/lib/QubitAsset.class.php Tue Jul 19 16:44:02 2011 (r9339)
+++ trunk/lib/QubitAsset.class.php Tue Jul 19 17:17:14 2011 (r9340)
@@ -37,7 +37,7 @@
{
$this->name = $assetName;
$this->contents = $assetContents;
- $this->generateChecksum('md5');
+ $this->generateChecksum('sha256');
}
public function setName($value)
@@ -100,20 +100,12 @@
public function generateChecksum($algorithm)
{
- switch ($algorithm)
+ if (!in_array($algorithm, hash_algos()))
{
- case 'sha1':
- $this->checksum = sha1($this->contents);
- break;
-
- case 'md5':
- $this->checksum = md5($this->contents);
- break;
-
- default:
- throw new Exception('Invalid checksum algorithm');
+ throw new Exception('Invalid checksum algorithm');
}
+ $this->checksum = hash($algorithm, $this->contents);
$this->checksumAlgorithm = $algorithm;
return $this->checksum;
Modified: trunk/lib/model/QubitDigitalObject.php
==============================================================================
--- trunk/lib/model/QubitDigitalObject.php Tue Jul 19 16:44:02 2011
(r9339)
+++ trunk/lib/model/QubitDigitalObject.php Tue Jul 19 17:17:14 2011
(r9340)
@@ -1793,16 +1793,18 @@
*/
public function generateChecksumFromFile($filename)
{
- switch($this->checksumType)
+ if (!isset($this->checksumType))
{
- case 'sha1':
- $this->checksum = sha1_file($filename);
- break;
- default:
- $this->checksum = md5_file($filename);
- $this->checksumType = 'md5';
+ $this->checksumType = 'sha256';
}
+ if (!in_array($this->checksumType, hash_algos()))
+ {
+ throw new Exception('Invalid checksum this->checksumType
"'.$this->checksumType.'"');
+ }
+
+ $this->checksum = hash_file($this->checksumType, $filename);
+
return $this;
}
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.